Qian Bin
Qian Bin
是链上自动完成的(应该是首创),具体实现细节文档中没有涉及,需要看代码。
@JacobDenver007 可以把收益分成两类,一类是原生的,另一类的外部的。 原生的收益是链本身的机制,包括: 1. 持有VET的账户会随着时间的推移,自动获得VET数量对应的VTHO收益 2. 记账节点会分得交易手续费的30%作为收益 外部收益是中心化的,可以认为是空投之类的市场活动,如经济节点。 > 还有一个问题,节点的收益和节点持有的VET数量有关么 考虑第一类原生收益的话,是和VET数量成正比的。
所有经济节点的逻辑都是在智能合约里的,收益来自基金会的补贴,投票应该是没有收益的。链本身没有经济节点这个概念。
对,newBlockTime和矿工出快的顺序序列确实是可以预测的。这在目前来说算是一个小缺陷(幸运的是,攻击的难度并不低),不过对应的改进方案已经有了。 > ``` > func dprp(blockNumber uint32, time uint64) uint64 { > var ( > b4 [4]byte > b8 [8]byte > ) > binary.BigEndian.PutUint32(b4[:], blockNumber) > binary.BigEndian.PutUint64(b8[:], time) > >...
so what's the problem now?
```js if (!this.connex.thor.status.head.number) { await this.connex.thor.ticker().next() } const lastBlock = await this.connex.thor.block().get() ``` add lines to check the head number should work
> Have you considered including that check in the `block()` function? > `this.connex.thor.status.head.number` should never be `null` or `undefined`... > `await this.connex.thor.block().get()` sometimes returns null. That is the same issue,...
> If you do not provide any argument to the `block()` function, `await this.connex.thor.block().get()` should return the head block, so it should never be `null` and it sometimes is. That...
What're you f**king doing?
@MariusVanDerWijden done