- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在 Solidity 中开发一个 dApp,并且正在开发一个 web3 库来处理与它的通信。
我在 web3 中创建新帐户和交易签名的过程中挣扎。在继续之前,值得注意的是,我正在运行自己的本地私有(private)区块链(目前使用 Ganache)。
我的代码如下所示:
try{
let a = web3.eth.accounts.create()
let dataTx = someContract.methods.someMethod().encodeABI()
let rawTx = {
to: someContract._address,
from: account.address,
data: dataTx,
gas: 10000000000
}
const transaction = web3.eth.accounts.signTransaction(rawTx, util.toBuffer(account.privateKey))
web3.eth.sendTransaction(rawTx).then(console.log)
}
catch(e){
console.log(e)
}
web3.eth.sendTransaction()
方法引发以下异常:
Error: Returned error: sender account not recognized
.
web3.eth.accounts
用于管理本地帐户和
web3.eth.personal
用于与客户端(例如 Geth)通信。我希望保留我的应用程序在 web3 客户端的设备上本地创建的帐户的私钥,但它引发了此异常。
最佳答案
如果您想使用 Ganache 提供给您以外的帐户,您必须开始 Ganache 以 private_key,initial_balance
的形式提供您的帐户数据:
示例命令: ganache-cli --account 0xf38b5679751228eab7d9f3aa02bd0b0c0f7b44e448c0cfd410a1d7053efb6c56,123456789
它的输出:
Ganache CLI v6.1.8 (ganache-core: 2.2.1)
Available Accounts ================== (0) 0x44fa41e453654ccb365a358e994c764a37eea91f (~0 ETH)
Private Keys ================== (0) 0xf38b5679751228eab7d9f3aa02bd0b0c0f7b44e448c0cfd410a1d7053efb6c56
Gas Price ================== 20000000000
Gas Limit ================== 6721975
Listening on 127.0.0.1:8545
关于ethereum - 私有(private)以太坊网络无法识别发件人帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52813381/
我是一名优秀的程序员,十分优秀!