如何在RSK上使用personal_sendTransaction?

我正在运行一个 RSK 节点,我正在尝试使用发送交易,personal_sendTransaction但出现此错误:

The local wallet feature is disabled

我怎样才能解决这个问题?提前致谢

回答

您正在尝试使用personal模块,此功能意味着将您的帐户导入节点。在另一个答案中,通过在 RSKj 配置文件中以纯文本形式添加公钥和私钥,将帐户导入节点,这是不安全的,因为获得对文件系统的访问权限足以危及您的私钥。因此,这种方法可能只是为了方便起见,并且仅用于 Testnet 或 Regtest - 不适用于 Mainnet 上的任何帐户。

另一种方法是personal启用模块,使用personal_importRawKeyRPC 添加新帐户。这种方式更安全,因为密码不会持久保存到文件系统。

即使运行节点的机器受到威胁,攻击者可以读取配置文件,您的私钥也不会因此而受到损害。

完整步骤详述如下:

(1) 开启personal模块(默认开启):

rpc {
    modules = [
        ...,
        {
            name: "personal",
            version: "1.0",
            enabled: "true"
        },
        ...
    ]
}

(2) 调用personal_importRawKeyRPC添加新账户:

curl 
  -X POST 
  --data '{"jsonrpc":"2.0","method":"personal_importRawKey","params":["YOUR_RAW_KEY", "YOUR_PASSPHRASE"],"id":1}' 
  --header "Content-Type:application/json" 
  http://localhost:4444/

(3) 在使用此帐户签署交易之前,您需要调用personal_unlockAccount
您刚刚创建的帐户的 。请注意,这DURATION是可选的,默认为300(5 分钟)。

curl 
  -X POST 
  --data '{"jsonrpc":"2.0","method":"personal_unlockAccount","params":["YOUR_ACCOUNT_ADDRESS", "YOUR_PASSPHRASE", DURATION],"id":1}' 
  --header "Content-Type:application/json" 
  http://localhost:4444/


以上是如何在RSK上使用personal_sendTransaction?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>