首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Polkadot tx-包装器脱机签名

Polkadot tx-包装器脱机签名
EN

Stack Overflow用户
提问于 2021-11-07 14:49:24
回答 1查看 186关注 0票数 2

ExtrinsicPayload到底是做什么的?我想复制逻辑,但缺少了一些东西。

代码语言:javascript
复制
import {
    getRegistry
} from '@substrate/txwrapper-polkadot';

const registry = getRegistry({
        chainName: 'Polkadot',
        specName,
        specVersion,
        metadataRpc,
    });

const extrinsicPayload = registry.createType('ExtrinsicPayload', unsigned, {version: unsigned.version});
const extrinsicPayloadU8a = extrinsicPayload.toU8a({method: true})
const actualPayload = extrinsicPayloadU8a.length > 256 ? registry.hash(extrinsicPayloadU8a) : extrinsicPayloadU8a;

const s1 = u8aToHex(alice.sign(actualPayload));
console.log("s1", s1, s1.length);
const s2 = extrinsicPayload.sign(alice).signature;
console.log("s2", s2, s2.length);

s1和s2应该有相同的长度,但他们没有。原因是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-10 11:00:17

您也应该将{"withType": true}传递给符号方法。

代码语言:javascript
复制
const s1 = u8aToHex(alice.sign(actualPayload, {"withType": true}));

sr25519使用随机性进行签名,因此结果不会相同,但是它们应该有相同的长度。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69873502

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档