我有一个私钥,格式如下。私钥仅用于测试。xprvA3bdZ5Dz3QFmyC6Y7tKeJahknnUZPgpw2Zhf7LNmZ1uLfJo2b557DpPBeBVW6Etbggpnd6VRUEWvKUj3NnBuU1MeWH8CY7eVTQ2yvZUXYSq
这很可能是一种以太格式。我需要将其转换为base64格式,以便在签名中使用。(filecoin事务需要privatekey的base64编码格式)
为了发送Filecoin事务,我需要使用以下方法:
transactionSignLotus(unSignedMessage, privatekey)
## transactionSignLotus (support Lotus schema)
Sign a transaction and return a JSON string of the signed transaction which can then be sent to a lotus node.
Arguments:
* **transaction**: a filecoin transaction;
* **privatekey**: a private key (hexstring or buffer);我的privatekey不适用于此方法。我想我需要转换成base64,但是我用了大部分的方法将私钥转换成base64格式,不能得到结果。
注意:当我说base64时,我指的是这样的东西:
px2g1zwEd1+EMfj4nX1oh0roouBGHhPo7QUNkPBHk1Q=发布于 2021-08-23 01:52:44
$ cat 68879302.js
let bip32 = require('bitcoinjs-lib').bip32
let x = bip32.fromBase58('xprvA3bdZ5Dz3QFmyC6Y7tKeJahknnUZPgpw2Zhf7LNmZ1uLfJo2b557DpPBeBVW6Etbggpnd6VRUEWvKUj3NnBuU1MeWH8CY7eVTQ2yvZUXYSq')
console.log(x.__D)
$ node 68879302.js
<Buffer cf 8c f7 64 cb d5 6b 5c 40 fa d6 7c 40 9d 52 2e c1 17 e4 93 16 dd 03 ec ec c4 1f 6c 80 6c ee d4>发布于 2021-08-22 07:52:38
import base64
key = b'xprvA3bdZ5Dz3QFmyC6Y7tKeJahknnUZPgpw2Zhf7LNmZ1uLfJo2b557DpPBeBVW6Etbggpnd6VRUEWvKUj3NnBuU1MeWH8CY7eVTQ2yvZUXYSq'
b64 = base64.b64encode(key)
print(b64)
# got b'eHBydkEzYmRaNUR6M1FGbXlDNlk3dEtlSmFoa25uVVpQZ3B3MlpoZjdMTm1aMXVMZkpvMmI1NTdEcFBCZUJWVzZFdGJnZ3BuZDZWUlVFV3ZLVWozTm5CdVUxTWVXSDhDWTdlVlRRMnl2WlVYWVNx'有帮助吗?
发布于 2021-08-22 08:16:21
假设您将*nix与bash工具一起使用:$> echo -n“* privatekey: PUT-YOUR-HEX-HERE”| base64 -w 0
https://stackoverflow.com/questions/68879302
复制相似问题