We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
分支名字唯一功能,只是在添加起源块时,判断本地是否有该名字的分支,判断是否成功,没有影响区块及交易的有效性,当以下情况发生时,会在不同节点存在同名分支的情况。 1)当两个节点(A节点、B节点)在同一时间(不完全一个时间点,只要在一个区块时间内就可以),分别创建名字相同的分支,将产生两条创建分支的交易,这两条交易分别在两个节点上打包,并且产生分叉,两个块中,两条交易的顺序相反,即A节点的块是AB顺序,B节点的块是BA顺序; 2)其它节点接收到A节点的块时,会生成A分支,而排斥B分支,接收到B节点的块时,会生成B分支,而排斥A分支; 3)当分叉回滚时,也不能将改变这个情况,分支创建后,没有删除功能,并且也不能删除,由于分支上产生的价值,无法删除。
The text was updated successfully, but these errors were encountered:
可以考虑这个办法:
Sorry, something went wrong.
测试链存在两个重名分支:
"fork" : "00003841577cb3b48afe04eceb328bad1a697cf86619b87b7df8f74fcb942a1f", "name" : "BigBangCoreCamera"
和
"fork" : "00001195d2d0771094ec8459f0b375bab1e0dd75f179cf6f93e678ac86e8bd32", "name" : "BigBangCoreCamera",
forkdb将两个分支都存起来了,导致forkmanager有两个分支。但AddNewOrigin判断了重名分支,所以blockbase实际存在的分支只有一个。
在RPC listfork的时候,有-a参数从forkmanager获取数据,没有-a参数从blockbase获取数据导致了不一致的情况。
-a
临时修复办法是都从forkmanager获取数据,在返回RPC结果时去重。
彻底修复应在fork抵押赎回PR #572 中考虑db中不存重名分支
fork抵押赎回PR
Successfully merging a pull request may close this issue.
分支名字唯一功能,只是在添加起源块时,判断本地是否有该名字的分支,判断是否成功,没有影响区块及交易的有效性,当以下情况发生时,会在不同节点存在同名分支的情况。
1)当两个节点(A节点、B节点)在同一时间(不完全一个时间点,只要在一个区块时间内就可以),分别创建名字相同的分支,将产生两条创建分支的交易,这两条交易分别在两个节点上打包,并且产生分叉,两个块中,两条交易的顺序相反,即A节点的块是AB顺序,B节点的块是BA顺序;
2)其它节点接收到A节点的块时,会生成A分支,而排斥B分支,接收到B节点的块时,会生成B分支,而排斥A分支;
3)当分叉回滚时,也不能将改变这个情况,分支创建后,没有删除功能,并且也不能删除,由于分支上产生的价值,无法删除。
The text was updated successfully, but these errors were encountered: