我正在开发一个通过比特币脚本将元数据存储在比特币现金区块链中的应用程序。具体来说,这些脚本由一个标准的multisig脚本,一个数据推送和一个数据弹出窗口组成。例如,以下脚本是1选1的multisig脚本,然后推送{a:'a'}的十六进制编码,然后再次将其弹出。
redeemScripts OP_1 33 0x03223d34686d6f19d20519156a030f7216e5d5bd6daa9442572bbaa446d06c8dfe OP_1 OP_CHECKMULTISIG 9 0x7b2261223a2261227d OP_DROP
由于该脚本是非标准的,所以我使用的是p2sh,生成的p2sh脚本为
OP_HASH160 20 0xa65dfd49f4c781dea389e485395b2e53434a34fe OP_EQUAL
直到2019年11月比特币现金硬叉,脚本运行良好,但现在我收到了错误消息
16: mandatory-script-verify-flag-failed (Signature must be zero for failed CHECK(MULTI)SIG operation). Code:-26
如果删除数据推送和弹出窗口,则会收到相同的错误消息。我查看了协议的更改,但无法弄清楚我在做什么错(https://github.com/bitcoincashorg/bitcoincash.org/blob/master/spec/2019-11-15-upgrade.md)
我想知道如何将元数据存储在Bitcoin Cash multisig脚本中。我知道op_return,但出于超出此问题的原因,希望将数据存储在脚本中。谢谢!
答案 0 :(得分:1)
问题是我向其发送事务的节点未升级到最新软件。解决。