小编Thu*_*ini的帖子

Solidity如何使用元组(嵌套abi)进行函数签名?

struct Test {
  uint ui;
  string s;
}
function test(Test t) public {
  emit Log(t.ui, t.s);
}
Run Code Online (Sandbox Code Playgroud)

我对ABI有一些了解。我使用实验性 ABIEncoderV2 选项签订了这份合同。总之,这个函数的签名是0x6056f4cc,我在操作码中找到了这个值。我用 sha3 尝试了一些 case test(uint256,string), test(tuple(uint256,string)), test(tuple), test(tuple[uint256,string])) ...但没有人做出正确的签名。Solidity 如何使用元组进行函数签名?

abi solidity

6
推荐指数
1
解决办法
3709
查看次数

Haxe - 如何将泛型类传递给参数

function test(cls:Class<Dynamic>) {}

test(Array<Float>); // Unexpected )
Run Code Online (Sandbox Code Playgroud)

我必须Array<Float>作为类类型传递.但是,这失败了:

出乎意料)

我怎样才能使它工作?

generics parameters haxe

2
推荐指数
1
解决办法
172
查看次数

关于tendermint块创建间隔的困惑

Tendermint 似乎缺少块创建时间的描述......
他们创建默认配置文件为

timeout_propose = 3000
timeout_propose_delta = 500
timeout_prevote = 1000
timeout_prevote_delta = 500
timeout_precommit = 1000
timeout_precommit_delta = 500
timeout_commit = 5000
Run Code Online (Sandbox Code Playgroud)

我阅读文档和代码。

所以在我的猜测中,如果tendermint在一轮中成功创建块,
timeout_propose + timeout_prevote + timeout_precommit = 5s 并等待 timeout_commit 5s...
所以块提交发生在 5s~10s 从而下一个块共识在 10s 后开始。

如果tendermint成功在两个回合,创造块
(timeout_propose + timeout_prevote + timeout_precommit)+(timeout_propose + timeout_propose_delta + timeout_prevote + timeout_prevot_delta + timeout_precommit + timeout_precommit_delta)= 5S + 6.5s = 11.5s和5秒的等待timeout_commit ......
所以块提交发生在 11.5s~16.5s,因此下一个区块共识在 16.5s 之后开始。我猜tendermint为每一轮添加增量超时。

我的猜测对吗?如果没有,配置文件中的超时究竟是什么意思?

tendermint

2
推荐指数
1
解决办法
385
查看次数

标签 统计

abi ×1

generics ×1

haxe ×1

parameters ×1

solidity ×1

tendermint ×1