如何使用GETH CLI在以太坊网络进行资金转账交易,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
完成同步的以太坊区块链节点后,就可以通过使用GETH CLI在以太坊网络上执行交易。
首先我们来链接GETH控制台,查询以太坊帐户的余额:
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4")
> 7500000000000000000
我想,你可能会想为什么7.5ETH在Geth控制台中显示为75000000000000000?
以太坊虚拟机不支持小数或浮点数。显然,金融计算在整数中更容易。
因此,为了能够发送1 ETH的一小部分,以太坊基金会决定创建自己的单位系统,其中最小单位为1 Wei,1 Ether为1e18 Wei。
但不用担心,有些工具可以让你的生活更轻松。例如,我强烈推荐Ether to Wei在线转换器:
https://etherconverter.online
为了发送价值15美元的以太,其中1 ETH == $200(旧时代......),你将发送0.0740 ETH的交易,这必须在Wei中表示为74000000000000000。
在线Ether to Wei转换器:
以太坊单位系统概述:
实战中来掌握。让我们实际发送74000000000000000 wei(15美元)到另一个帐户。
在一个终端中,请记住运行完全同步的区块链节点:
geth --rinkeby --datadir=~/.gophersland_ethereum_r1 --port=30304 --cache=2048 --rpc --rpcport=8546 --rpcapi=eth,web3,net,personal --syncmode=fast
在另一个终端,我们将创建我们的第二个以太坊帐户。
ls -la ~/.gophersland_ethereum_r1/keystore/> drwx------ 2 enchanter enchanter 4096 sep 24 15:36 .> drwx------ 4 enchanter enchanter 4096 sep 24 15:26 ..> -rw------- 1 enchanter enchanter 491 sep 24 15:36
UTC--2018-09-24T13-36-43.069452577Z--ceee57f2b700c2f37d1476a7974965e149fce2d4geth --datadir=~/.gophersland_ethereum_r1 account new> INFO [09-24|15:36:33.566] Maximum peer count ETH=25 LES=0 total=25> Your new account is locked with a password. Please give a password. Do not forget this password.
> Passphrase: > Repeat passphrase: > Address: {7aa4a14286a25e3a275d7a122c23dc3c107a636a}ls -la ~/.gophersland_ethereum_r1/keystore/> drwx------ 2 enchanter enchanter 4096 oct 25 20:14 .> drwx------ 4 enchanter enchanter 4096 oct 25 19:48 ..> -rw------- 1 enchanter enchanter 491 sep 24 15:36
UTC--2018-09-24T13-36-43.069452577Z--ceee57f2b700c2f37d1476a7974965e149fce2d4
现在,让我们将Geth控制台链接到当前运行的区块链节点,就像我们在上一篇文章中所做的那样,以便通过执行eth.sendTransaction
命令将15美元转账到这个新创建的帐户。
geth attach ipc:/home/enchanter/.gophersland_ethereum_r1/geth.ipc
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4",to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})
Error: authentication needed: password or unlock.
,错误提示:需要验证密码或解锁。
你应该看到类似上面一个错误。这是因为发送以太是一个交易transaction
,一个交易改变状态,花费成本,并花费资金。这意味着它需要使用存储在密钥库中的私钥进行签名。为了解密密钥,我们必须提供密码,换句话说,解锁帐户。
执行以下命令以解锁帐户并设定解锁有效期60s,并再次执行sendTransaction
命令。
web3.personal.unlockAccount(web3.personal.listAccounts[0], null, 60)
eth.sendTransaction({from: "0xceee57f2b700c2f37d1476a7974965e149fce2d4", to: "0x7aa4a14286a25e3a275d7a122c23dc3c107a636a", value: "74000000000000000"})
我们也可以将密码作为第二个参数而不是null传递。但这种方式更安全,因为你的密码只在缓冲区中,而不是存储在任何日志中或屏幕上可见。
这次命令成功,并返回了一个交易的哈希收据!
当我们连接到Rinkeby网络时,我们可以利用Rinkeby GUI浏览器来检查此交易的状态,gas消耗,gas价格等。
1.打开资源管理器。
2.将交易收据哈希粘贴到搜索栏。
3.完成后,我们花了21,000个Gas(发送资金的标准)并且交易成功了!
现在可以查询两个帐户的余额并查看已更改的状态:
eth.getBalance("0xceee57f2b700c2f37d1476a7974965e149fce2d4") > 7425979000000000000
eth.getBalance("0x7aa4a14286a25e3a275d7a122c23dc3c107a636a") > 74000000000000000
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。