原始帖子和评论中有很多不同的错误消息。我认为最好的方法是提供一个逐步指南,使用Truffle部署到Rinkeby:
Geth
首先,创建您要用于此测试的帐户。看起来您已经完成了这个步骤,但为了完整起见,我将包括此步骤。请注意,我正在使用自定义密钥库目录,因为我喜欢在不同的网络之间保持我的密钥库分开。
geth --rinkeby --keystore ./eth/accounts/rinkeby/keystore account new
输入密码后,您将获得新地址。创建帐户后,创建一个名为pass.txt的新文本文件,并将用于创建帐户的密码放入文件中并保存。
显然,这不是保护密码安全的首选方式。不要在实时环境中这样做
您还需要向您的帐户添加一些以太。使用faucet.rinkeby.io。
接下来,请确保您正确启动了Geth并处于正确的状态。我使用自定义数据和keystore目录,如果您愿意,也可以使用默认设置。
geth --rpc --datadir ./eth/geth/data/rinkeby --keystore ./eth/accounts/rinkeby/keystore --rinkeby --rpccorsdomain '*' --rpcapi 'web3,eth,net,personal' --unlock '0x25e6C81C823D4e15084F8e93F4d9B7F365C0857d' --password ./pass.txt --syncmode="full" --cache=1024
将我的地址替换为您创建的地址。启动后,您应该会看到类似于这样的内容:
INFO [02-13|17:47:24] Starting peer-to-peer node instance=Geth/TrustDevTestNode/v1.7.3-stable-4bb3c89d/windows-amd64/go1.9
INFO [02-13|17:47:24] Allocated cache and file handles database=C:\\cygwin\\home\\adamk\\eth\\geth\\data\\rinkeby\\geth\\chaindata cache=1024 handles=1024
INFO [02-13|17:47:47] Initialised chain configuration config="{ChainID: 4 Homestead: 1 DAO: <nil> DAOSupport: true EIP150: 2 EIP155: 3 EIP158: 3 Byzantium: 1035301 Engine: clique}"
INFO [02-13|17:47:47] Initialising Ethereum protocol versions="[63 62]" network=4
INFO [02-13|17:47:47] Loaded most recent local header number=1766839 hash=6d71ad…ca5a95 td=3285475
INFO [02-13|17:47:47] Loaded most recent local full block number=1766839 hash=6d71ad…ca5a95 td=3285475
INFO [02-13|17:47:47] Loaded most recent local fast block number=1766839 hash=6d71ad…ca5a95 td=3285475
INFO [02-13|17:47:47] Loaded local transaction journal transactions=0 dropped=0
INFO [02-13|17:47:47] Regenerated local transaction journal transactions=0 accounts=0
INFO [02-13|17:47:48] Starting P2P networking
2018/02/13 17:47:50 ssdp: got unexpected search target result "upnp:rootdevice"
2018/02/13 17:47:50 ssdp: got unexpected search target result "uuid:2f402f80-da50-11e1-9b23-001788409545"
2018/02/13 17:47:50 ssdp: got unexpected search target result "urn:schemas-upnp-org:device:basic:1"
2018/02/13 17:47:50 ssdp: got unexpected search target result "upnp:rootdevice"
2018/02/13 17:47:50 ssdp: got unexpected search target result "uuid:2f402f80-da50-11e1-9b23-001788409545"
INFO [02-13|17:47:51] UDP listener up self=enode://751bc7825c66f9ab5b87f933d6b6302fd14434b7ed4d7c921c3f39684915843078eda4e995c927561067946b4f856ca2a35ea7285c27439c0f535338aaca80e9@172.88.30.226:30303
INFO [02-13|17:47:51] RLPx listener up self=enode://751bc7825c66f9ab5b87f933d6b6302fd14434b7ed4d7c921c3f39684915843078eda4e995c927561067946b4f856ca2a35ea7285c27439c0f535338aaca80e9@172.88.30.226:30303
INFO [02-13|17:47:51] IPC endpoint opened: \\.\pipe\geth.ipc
INFO [02-13|17:47:51] HTTP endpoint opened: http://127.0.0.1:8545
INFO [02-13|17:47:52] Unlocked account address=0x25e6C81C823D4e15084F8e93F4d9B7F365C0857d
- 确认网络=4。
- 确认最后一行显示的帐户解锁成功且没有错误。
- 一旦您的节点启动,请确保它完全同步。
Truffle
truffle.js(如果是Windows,则为truffle-config.js):
module.exports = {
networks: {
development: {
host: "localhost",
port: 8545,
network_id: "*"
},
rinkeby: {
host: "localhost",
port: 8545,
from: "0x25e6c81c823d4e15084f8e93f4d9b7f365c0857d",
network_id: "4"
}
}
};
使用Truffle控制台确认您的节点和账户:
$ truffle console --network rinkeby
truffle(rinkeby)> web3.eth.blockNumber
1767136
truffle(rinkeby)> web3.eth.getBalance('0x25e6c81c823d4e15084f8e93f4d9b7f365c0857d');
{ [String: '2956062100000000000'] s: 1, e: 18, c: [ 29560, 62100000000000 ] }
退出控制台并运行编译/迁移(这将需要约一分钟的时间):
$ truffle migrate --network rinkeby
Compiling .\contracts\LoopExample.sol...
Writing artifacts to .\build\contracts
Using network 'rinkeby'.
Running migration: 1_initial_migration.js
Deploying Migrations...
... 0xf377be391a2eaff821c0405256c6a1f50389650ea9754bdc2711296b02533e02
Migrations: 0x9cef8d8959d0611046d5144ec0439473ad842c7c
Saving successful migration to network...
... 0x4cf989973ea56a9aa4477effaccd9b59bfb80cc0e0e1b7878ff25fa5cae328db
Saving artifacts...
Running migration: 2_deploy_contracts.js
Deploying LoopExample...
... 0x4977c60fd86e1c4ab09d8f970be7b7827ee25245575bfbe206c19c6b065e9031
LoopExample: 0x56b9c563f287cdd6a9a41e4678ceeeb6fc56e104
Saving successful migration to network...
... 0x5628d64dc43708ccb30d7754a440e8e420a82a7b3770539cb94302fe7ad9098f
Saving artifacts...
确认在Etherscan上部署:https://rinkeby.etherscan.io/address/0x56b9c563f287cdd6a9a41e4678ceeeb6fc56e104
geth
启动命令吗? - Adam Kipnisgeth --rinkeby --rpc --rpcapi db,eth,net,web3,personal --unlock <ADDRESS>
,但是我遇到了下面的错误。运行迁移:1_initial_migration.js 部署迁移... ... 未定义的错误。遇到错误,请退出。网络状态未知。请手动查看成功的交易。错误:需要验证:密码或解锁@AdamKipnis有什么想法吗? - Sho0310personal.unlockAccount("地址", "密码")
时,它返回true。但错误仍然存在。 - Sho0310遇到错误,退出。网络状态未知。请手动查看成功的交易。 错误:燃气费用 * 价格 + 数量不足
- Sho0310