跳到主要内容
ArcBlock Community

如何从连上获取 did 公钥

shenxiuqiang
支持
qaresolved

如何从连上获取 did 公钥

image.png

我想通过私钥和对方公钥进行加密:

示例

image.png

2 条回复

shijun2年前

如果你知道账户的 address,通过 getAccountState 可以获取对应的 pk,示例代码:

javascriptCopy
const Client = require('@ocap/client');
const { fromBase58 } = require('@ocap/util');​

const client = new Client('https://main.abtnetwork.io/api/');
const address = 'zNKteeWDAcJhZMDfas7vT3Y4mq2SwKisghcd'; // replace this with your did
const { state } = await client.getAccountState({ address });
const pkBuffer = fromBase58(state.pk);

如果你需要使用非对称加解密,需要看下 @ocap/mcrypto 依赖的底层库: https://www.npmjs.com/package/tweetnacl

不过,需要注意的是,arcblock 链也支持 ethereum 类型的地址,而 ethereum 那边的 encrypt/decrypt 方法应该会不同。

shenxiuqiang2年前

感谢,我研究一下。

回复