আমি ট্যাপ্রুটে একটি স্ক্রিপ্ট-পাথ ব্যয় বাস্তবায়ন করার চেষ্টা করছি, যেখানে 1 স্ক্রিপ্ট 2 এর মধ্যে 1 মাল্টিসিগ (হ্যাঁ আমি জানি এটি এই ফলাফল অর্জনের সবচেয়ে কার্যকর উপায় নয়)।
আমি সঠিকভাবে কাজ করার জন্য কী-পাথ পেতে পারি, এবং আমি সমস্ত ট্যাগ করা হ্যাশ সঠিকভাবে গণনা করেছি, কিন্তু আমি এখনও পেয়েছি error code: -26 error message: non-mandatory-script-verify-flag (Invalid Schnorr signature)
,
আমার Schnorr স্বাক্ষর সঠিক এবং বৈধ, এবং MultiSig-এর একটি কীর সাথে সামঞ্জস্যপূর্ণ (আমি যখন অন্য কী চেষ্টা করি তখন আমি একই ত্রুটি পাই)। আমি সন্দেহ করি সমস্যাটি হয় মাল্টিসিগ স্ক্রিপ্ট বাস্তবায়নে, বা সিগাশ তৈরিতে।
আমার মাল্টিসিগ নিম্নরূপ: <32-byte pubkey1> OP_CHECKSIG <32-byte pubkey2> OP_CHECKSIGADD 1 OP_NUMEQUAL
aka <20> <32 bytes> <ac> <20> <32 bytes> <ba> <51> <9c>
আমার পরামর্শটি নিম্নোক্ত (যথাযথাযথায় কিছুটা সহনশীলতার সাথে):
epoch + hash_type + version + nlocktime + #sha_prevouts + #sha_amounts +#sha_scriptpubkeys + #sha_sequences+ #sha_outputs + spend_type + input_index
কোথায়? epoch = "00", hash_type = "00", spend_type = "00" and input_index = "00000000"
, আমি SHA প্রিমেজগুলি সঠিকভাবে বিন্যাস করছি এবং সংযুক্ত করছি (স্ক্রিপ্ট বাইট দৈর্ঘ্য সহ), এবং এই সিগাশ ফরম্যাট অতীতে সমালোচনামূলক পথ ব্যয়ের জন্য কাজ করেছে। সবকিছু সঠিকভাবে হ্যাশ করা হয়েছে (কোনও সাক্ষী ইভেন্ট হ্যাশ মিল নেই)।
আমার নিয়ন্ত্রণ ব্লক হল: c0 + internal_pubkey
এবং আনলকিং স্ক্রিপ্ট হল: "00" + "40" + schnorr_sig + <len script> + <script> + <len control block> + control_block
, আমি নিশ্চিত ছিলাম না যে “00” প্রথম স্বাক্ষরের আগে বা পরে যাওয়া উচিত, কিন্তু স্ক্রিপ্ট সম্পাদনের সাথে আমি যেখানে প্রথম pubkey দিয়ে সাইন করি তার আগে “00” রাখাটা বোধগম্য হয় (যদিও আমি উভয় পদ্ধতিই অসফলভাবে চেষ্টা করেছি)।
আমার বৈধ স্বাক্ষর (যা 2টি মাল্টিসিগের মধ্যে 1টির সাথে মেলে), আপাতদৃষ্টিতে সঠিক সিগাশ, ইত্যাদির দিকে তাকিয়ে, আমি কী ভুল করতে পারি তা নিয়ে আমি ক্ষতির মধ্যে আছি। যেকোনো সহযোগিতা বিষেশভাবে সমাদৃত. নীচে যথাক্রমে sighash, TapSighash, স্বাক্ষর এবং শেষ কাঁচা লেনদেন আছে:
সিগাশ:
0000010000000000000099f39068ebcfd1d34e63d3bd1159c8237d5d086343c06408cdbc79180695e8c73e1f6dbf626619317d04b24ac25799871709e0f3e35cc0e05dae4da21bc5a162e3c29eaa90352e63931c83366d585cc64019da58c9cd8dd2f43062702153d6b9bf906cd362964d265fdb27547a75d2ad2ce86cccec49cdc613764a77dc5f149d993b3cce8dcc00523357f17a52fcc5fecbe39fea83829dda4bdf453fb3d056300000000000
সিগাশ ট্যাপ করুন:
0aea7f6f399744d65b9b8077c2f1431b14a78db43bd9659f6c1afd65a912dfdc
স্নোর সিগ:
ef6ee4c4ec327c61b3455575f4683df36b24b993daccca3328473e1149906f1f929c2707f5f972855935f2b9320538e6999e4bd1b0ad99f86332100a190164e5
কাঁচা tx:
01000000000101c9612f1a4436eae322feecf68ef3318f87c3ce375c09b1d257c7621e5997f5df0000000000fffffffe0218150000000000002251203ea692bfe06ac9956836045a73b0184644c9d8cdd39734236c4c101c59676ce658020000000000001976a9148059905a03a8b65b9783037490d629948898054888ac040040ef6ee4c4ec327c61b3455575f4683df36b24b993daccca3328473e1149906f1f929c2707f5f972855935f2b9320538e6999e4bd1b0ad99f86332100a190164e54620de153317307164e7c9918791c7787d9833a3a8201bdff880e631e490cf9a087cac202e936665ba37c601f91a8110d9da29caeb20b4f62c55ef3ae7868bd7a37afa84ba519c21c0b33421b257ea992bc721b71b58449ac6e529318daff80a4b7477abddf829476400000000