首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RSK上使用personal_sendTransaction?

如何在RSK上使用personal_sendTransaction?
EN

Stack Overflow用户
提问于 2021-02-25 13:40:32
回答 2查看 106关注 0票数 8

我正在运行RSK节点,并尝试使用personal_sendTransaction发送事务,但收到以下错误:

代码语言:javascript
复制
The local wallet feature is disabled

我该如何解决这个问题呢?提前感谢

EN

回答 2

Stack Overflow用户

发布于 2021-03-03 20:31:23

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

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

即使运行该节点的机器被攻破,并且攻击者可以读取配置文件,您的私钥也不会因此被攻破。

详细步骤如下:

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

代码语言:javascript
复制
rpc {
    modules = [
        ...,
        {
            name: "personal",
            version: "1.0",
            enabled: "true"
        },
        ...
    ]
}

(2)调用personal_importRawKey RPC添加新账号:

代码语言:javascript
复制
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分钟)。

代码语言:javascript
复制
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/
票数 6
EN

Stack Overflow用户

发布于 2021-03-01 18:37:08

您正在尝试使用personal模块,此功能意味着将您的帐户导入到节点

注意:出于安全原因,此方法是不推荐的,但是,也可以这样做。

为此,您需要在RSKj配置文件中为此配置您的节点。对于RSK Mainnet,这应该是main.conf

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

代码语言:javascript
复制
rpc {
    modules = [
        ...,
        {
            name: "personal",
            version: "1.0",
            enabled: "true"
        },
        ...
    ]
}

(2)启用wallet并添加您的账号:

代码语言:javascript
复制
wallet {
    enabled = true
    accounts = [
        {
            "publicKey" : "<PUBLIC_KEY>"
            "privateKey" : "<PRIVATE_KEY>"
        }
    ]
}

在此之后,您将能够使用以下所有RPC方法:

  • personal_sendTransaction
  • personal_importRawKey
  • personal_listAccounts
  • personal_lockAccount
  • personal_newAccount
  • personal_unlockAccount

示例:

代码语言:javascript
复制
curl \
  -X POST \
  --data '{"jsonrpc":"2.0","method":"personal_newAccount","params":["password"],"id":1}' \
  --header "Content-Type:application/json" \
  http://localhost:4444
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66363007

复制
相关文章

相似问题

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