
EOS 投票步骤
Hello , 我是09
此篇内容为我2018~2020年在【库神】工作时,对部分重要知识做的学习总结
随着比特币冲破10万美金,行业又再次兴起,希望相关从业者可以学习到你需要的内容
投票前,需要先将自己注册到投票系统
注册配置参数:
(1.) action = regproxy
(2.) code = eosio
(3.) proxy = 账户名称
(4.) isproxy = @"0"
注册返回的重要参数为binargs,返回数据大概为
{
message = "ok",
data = {
binargs = "10c420850c117ce750c810410c527ce7102700000000000004454f53000000000474657374",
},
code = 0,
}
获取blockChain (最新区块信息)
不需要任何注册参数
返回的内容大致如下
{
message = "ok",
data = {
head_block_id = "00580b4f39fafd062154534c6c743a0e8b48b5f992775af2339d245153254dbe",
last_irreversible_block_num = 5769729,
head_block_producer = "starteosiobp",
virtual_block_net_limit = 1048576000,
server_version = "db031363",
head_block_time = "2018-07-14T02:52:04.500",
block_cpu_limit = 169814,
block_net_limit = 1038080,
last_irreversible_block_id = "00580a01aa1aca06e95da40516f842e31653e10fa0666935d853ae767ee04412",
virtual_block_cpu_limit = 200000000,
chain_id = "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
head_block_num = 5770063,
},
code = 0,
}
其中最主要的信息为
(1.) chain_id 用于配置chain_Id
(2.) head_block_time 用于weakSelf.expiration = [[[NSDate dateFromString: model.head_block_time] dateByAddingTimeInterval: 30] formatterToISO8601];
(3.) head_block_num 用于ref_block_num
(4.) head_block_id 在Demo中需要通过JS进行一些列计算的转换之后当做ref_block_prefix参数使用
发送交易
发送交易的参数只有两个
packed_trx //交易数据
signatureStr //签名
配置交易数据,大致信息如下
(1. ) ref_block_prefix 区加快信息中的head_block_id通过一些列运算后得到
(2. ) ref_block_num 区加快信息中的head_block_num直接使用
(3. ) expiration 区块信息中的head_block_time字段,经过处理后得到
(4. ) context_free_data 写死空数组 @[]
(5. ) signatures 写死空数组 @[]
(6. ) context_free_actions 写死空数组 @[]
(7. ) delay_sec 写死0 (NSNumber类型)
(8. ) max_kcpu_usage 写死0 (NSNumber类型)
(9. ) max_net_usage_words 写死0 (NSNumber类型)
(10. ) account 帮我创建的人的账户名 eosio
(11. ) name 传入action
(12. ) data 传入binargs
(13. ) actor 账户名
(14. ) permission 写死active
Json投票数据
{
message = "ok",
data = {
head_block_num = 5808132, // 最新的区块高度
ram_quota = 4075, // 注册时分配的内存大小
cpu_weight = 900, // 注册时分配的CPU
permissions = ({ // 权限分配
required_auth = {
waits = (),
keys = ({
key = "EOS6vu6TggGSJoStBiC5Vkq1WW2KKvpRFeDAfszf7p8zFvWtPP2Cb", // 公钥
weight = 1,
}, ),
accounts = (),
threshold = 1,
},
parent = "owner",
perm_name = "active",
}, {
required_auth = {
waits = (),
keys = ({
key = "EOS6vu6TggGSJoStBiC5Vkq1WW2KKvpRFeDAfszf7p8zFvWtPP2Cb", // 公钥
weight = 1,
}, ),
accounts = (),
threshold = 1,
},
parent = "",
perm_name = "owner",
}, ),
cpu_limit = { // cpu使用情况
max = 9395,
available = 9395,
used = 0,
},
last_code_update = "1970-01-01T00:00:00.000",
account_name = "wangxinyu123",
head_block_time = "2018-07-14T08:10:30.500",
net_limit = { // 带宽
max = 5483, // 最大带宽
available = 5483, // 可用带宽
used = 0, // 已用带宽
},
privileged = 0,
created = "2018-07-14T07:16:35.000",
net_weight = 100,
total_resources = {
ram_bytes = 4075,
net_weight = "0.0100 EOS",
owner = "wangxinyu123",
cpu_weight = "0.0900 EOS",
},
ram_usage = 2996,
},
code = 0,
}
查询最新区块信息返回的数据
{
message = "ok",
data = {
head_block_id = "0058dad0bc707cee05b3afc918b5c5ef9ac944a535685f583d42196110c4c43b",
last_irreversible_block_num = 5822849,
head_block_producer = "eoscleanerbp",
virtual_block_net_limit = 1048576000,
server_version = "db031363",
head_block_time = "2018-07-14T10:16:11.500",
block_cpu_limit = 169108,
block_net_limit = 1037920,
last_irreversible_block_id = "0058d98134bbe0417a7cb616f582c092b9fd05adf4f27f9ce3df2a474db7080e",
virtual_block_cpu_limit = 200000000,
chain_id = "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
head_block_num = 5823184,
},
code = 0,
}
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果