Author [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] [EN] [ZH] [ES] [PT] [IT] [DE] [FR] [NL] [TR] [SR] [AR] [RU] Topic: 求助哪位大神帮我解决一下——代理出块问题  (Read 377 times)

0 Members and 1 Guest are viewing this topic.

Offline xiaorui.dong

  • Newbie
  • *
  • Posts: 13
    • View Profile
  • BTS: dongxr
  • Witness: dxr
  • Payrate: 100%

   求助,我在本地搭建代理节点想测试代理出块的流程。可是总有几个代理不出块,查看代码
   在void wallet::sign_block( signed_block_header& header )函数里面的如下断言出出错。
   FC_ASSERT( fc::ripemd160::hash( header.previous_secret ) == *prev_secret_hash );

   求大神能告诉下,哪些情况会导致这两个hash不相等呢,从而导致校验不过呢?
   PS:最好能解释下这里的header.previous_secret和prev_secret_hash的含义和作用。原谅小白对这个签块模块机制不太明白。可以解释下最好

Offline xiaorui.dong

  • Newbie
  • *
  • Posts: 13
    • View Profile
  • BTS: dongxr
  • Witness: dxr
  • Payrate: 100%
Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #1 on: May 12, 2015, 08:27:45 AM »
自己顶自己

Offline Musewhale

  • Hero Member
  • *****
  • Posts: 2724
  • 丑,实在是太丑了 !
    • View Profile
Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #2 on: May 12, 2015, 07:42:54 PM »
等大神 +5% +5% +5%
当初你说炒币不烧钱,现在我全家都怀疑我吸毒

Offline xiaorui.dong

  • Newbie
  • *
  • Posts: 13
    • View Profile
  • BTS: dongxr
  • Witness: dxr
  • Payrate: 100%
Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #3 on: May 13, 2015, 01:23:30 AM »
求大神解决

Offline cgafeng

Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #4 on: May 13, 2015, 01:34:41 AM »
看下是不是块链分叉了,检查下各个代理最后一个块是不是同一个,不是的话hash肯定会不一样
BTC:1EYwcZ9cYVj6C9LMLafdcjK9wicVMDV376

Offline BTSdac

Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #5 on: May 13, 2015, 02:48:23 AM »
   求助,我在本地搭建代理节点想测试代理出块的流程。可是总有几个代理不出块,查看代码
   在void wallet::sign_block( signed_block_header& header )函数里面的如下断言出出错。
   FC_ASSERT( fc::ripemd160::hash( header.previous_secret ) == *prev_secret_hash );

   求大神能告诉下,哪些情况会导致这两个hash不相等呢,从而导致校验不过呢?
   PS:最好能解释下这里的header.previous_secret和prev_secret_hash的含义和作用。原谅小白对这个签块模块机制不太明白。可以解释下最好
previous_secret :每个代理出块时候都需要发布一个随机种子, 每轮用所有101个随机种子组合成随机数, 来洗牌下轮代表顺序. 但为了防止代表知道其他人的随机数后,自己生成一个对自己有利的随机种子,所以代表都先提前一轮公布随机种子的HASH, 这样就算知道其他代表的随机种子后,也不能更改自己的随机种子.
所以这个随机种子也叫秘密随机种子.

prev_secret_hash: 秘密随机种子的HASH ,
« Last Edit: May 13, 2015, 02:57:57 AM by BTSdac »
github.com :pureland
BTS2.0 API :ws://139.196.37.179:8091
BTS2.0 API 数据源ws://139.196.37.179:8091

Offline xiaorui.dong

  • Newbie
  • *
  • Posts: 13
    • View Profile
  • BTS: dongxr
  • Witness: dxr
  • Payrate: 100%
Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #6 on: May 13, 2015, 05:50:16 AM »
   求助,我在本地搭建代理节点想测试代理出块的流程。可是总有几个代理不出块,查看代码
   在void wallet::sign_block( signed_block_header& header )函数里面的如下断言出出错。
   FC_ASSERT( fc::ripemd160::hash( header.previous_secret ) == *prev_secret_hash );

   求大神能告诉下,哪些情况会导致这两个hash不相等呢,从而导致校验不过呢?
   PS:最好能解释下这里的header.previous_secret和prev_secret_hash的含义和作用。原谅小白对这个签块模块机制不太明白。可以解释下最好
previous_secret :每个代理出块时候都需要发布一个随机种子, 每轮用所有101个随机种子组合成随机数, 来洗牌下轮代表顺序. 但为了防止代表知道其他人的随机数后,自己生成一个对自己有利的随机种子,所以代表都先提前一轮公布随机种子的HASH, 这样就算知道其他代表的随机种子后,也不能更改自己的随机种子.
所以这个随机种子也叫秘密随机种子.

prev_secret_hash: 秘密随机种子的HASH ,
[/quote]
那什么样的情况下会导致我发布的这个prev_secret_hash 跟head里面存的header.previous_secret算出来的hash不一样呢?
[/quote]

Offline BTSdac

Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #7 on: May 13, 2015, 06:27:50 AM »
   求助,我在本地搭建代理节点想测试代理出块的流程。可是总有几个代理不出块,查看代码
   在void wallet::sign_block( signed_block_header& header )函数里面的如下断言出出错。
   FC_ASSERT( fc::ripemd160::hash( header.previous_secret ) == *prev_secret_hash );

   求大神能告诉下,哪些情况会导致这两个hash不相等呢,从而导致校验不过呢?
   PS:最好能解释下这里的header.previous_secret和prev_secret_hash的含义和作用。原谅小白对这个签块模块机制不太明白。可以解释下最好

previous_secret :每个代理出块时候都需要发布一个随机种子, 每轮用所有101个随机种子组合成随机数, 来洗牌下轮代表顺序. 但为了防止代表知道其他人的随机数后,自己生成一个对自己有利的随机种子,所以代表都先提前一轮公布随机种子的HASH, 这样就算知道其他代表的随机种子后,也不能更改自己的随机种子.
所以这个随机种子也叫秘密随机种子.

prev_secret_hash: 秘密随机种子的HASH ,
那什么样的情况下会导致我发布的这个prev_secret_hash 跟head里面存的header.previous_secret算出来的hash不一样呢?
[/quote]
[/quote]
程序不诚实 ?  :P
github.com :pureland
BTS2.0 API :ws://139.196.37.179:8091
BTS2.0 API 数据源ws://139.196.37.179:8091

Offline xiaorui.dong

  • Newbie
  • *
  • Posts: 13
    • View Profile
  • BTS: dongxr
  • Witness: dxr
  • Payrate: 100%
Re: 求助哪位大神帮我解决一下——代理出块问题
« Reply #8 on: May 13, 2015, 06:42:20 AM »
   求助,我在本地搭建代理节点想测试代理出块的流程。可是总有几个代理不出块,查看代码
   在void wallet::sign_block( signed_block_header& header )函数里面的如下断言出出错。
   FC_ASSERT( fc::ripemd160::hash( header.previous_secret ) == *prev_secret_hash );

   求大神能告诉下,哪些情况会导致这两个hash不相等呢,从而导致校验不过呢?
   PS:最好能解释下这里的header.previous_secret和prev_secret_hash的含义和作用。原谅小白对这个签块模块机制不太明白。可以解释下最好

previous_secret :每个代理出块时候都需要发布一个随机种子, 每轮用所有101个随机种子组合成随机数, 来洗牌下轮代表顺序. 但为了防止代表知道其他人的随机数后,自己生成一个对自己有利的随机种子,所以代表都先提前一轮公布随机种子的HASH, 这样就算知道其他代表的随机种子后,也不能更改自己的随机种子.
所以这个随机种子也叫秘密随机种子.

prev_secret_hash: 秘密随机种子的HASH ,
那什么样的情况下会导致我发布的这个prev_secret_hash 跟head里面存的header.previous_secret算出来的hash不一样呢?
[/quote]
程序不诚实 ?  :P
[/quote]
就是不清楚什么情况下会导致这两者不一致~~~
不太理解这个校验的意义~~

 

Google+