美文网首页区块链教程
兄弟连区块链入门教程eth的账户和基本单位

兄弟连区块链入门教程eth的账户和基本单位

作者: ab6973df9221 | 来源:发表于2018-10-25 17:22 被阅读0次

      兄弟连区块链入门教程eth的账户和基本单位,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。

    我们在命令行输入eth.accounts可以看到当前该区块链中共有几个账号,以及每个账号的公钥地址。

    在eth系统中,状态是由被称为“账户”(每个账户由一个20字节的地址)的对象和在两个账户之间转移价值和信息的状态转换构成的。

    eth的账户包含四个部分:

    随机数,用于确定每笔交易只能被处理一次的计数器

    账户目前的以太币余额

    账户的合约代码,如果有的话

    账户的存储(默认为空)

    简单地说,每一个eth账户都有一对公钥和私钥组成。

    公钥我们可以理解为就是账户地址,任何其他账户都可以访问该地址

    私钥可以理解为一段加密过的密码,这一对公钥和私钥共同组成一个唯一标示的eth账户。

    例如在上节我们建立的第一个eth账户eth.accounts[0]中,地址 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f 就是公钥,而对密码加密而成的,就是私钥。

    增加账户

    我们可以输入命令personal.newAccount(“123”) 来新建一个账户,(注意123可以修改为任何别的密码)

    当eth的私链在挖矿时候,所挖到的以太币都会存入第一个eth账户中,即eth.accounts[0]中,而eth.accounts[1]默认是不会有以太币的。这个时候我们可以用下面的命令来查看eth.accounts[0] 中的以太币余额。

    >eth.getBalance("0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f")

    如何在两个账户之间进行以太币转换

    前面说过每个账户的公钥(地址)是一切eth账户操作的核心,但地址字符串太长,我们用acc0/acc1分别代表accounts[0]和[1],另外设置要转移0.01个以太币

    1.> acc0 = eth.accounts[0]

    2."0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f"

    3.> acc1 = eth.accounts[1]

    4."0xb8b12a801b610176935a15321f77b48dd5c0c448"

    5.> amount = web3.toWei(0.01)

    6."10000000000000000"

    这个时候我们可以使用eth.sendTransaction来将0.01个以太币从acc0转移到acc1中。

    1.> eth.sendTransaction({from: acc0, to: acc1, value: amount})

    eth的一个保护机制,每隔一段时间账户就会自动锁定,这个时候任何以太币在账户之间的转换都会被拒绝,除非把该账户解锁.

    这个时候我们就需要执行personal.unlockAccount(acc0)并输入密码来解锁acc0才可。

    1.> personal.unlockAccount(acc0)

    2.Unlock account 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f

    3.Passphrase:

    4.true

    5.>

    这个时候我们重新执行命令eth.sendTransaction({from: acc0, to: acc1, value: amount}),结果如下:

    1.> eth.sendTransaction({from: acc0, to: acc1, value: amount})

    2."0xeea74dd5ff3f1287614d52ebb674edb93e8c5e51e4296835044d3d858d3d9f10"

    3.> eth.getBalance(acc1)

    4.10000000000000000

    5.>

    我们可以看到这个时候acc1有了数值10000000000000000, 而不再是之前的0了。但我们明明要给0.01ether币的,为何数值会如此大呢? 其实是对的,我们只要输入命令web3.fromWei(10000000000000000,”ether”) 就可以知道了。

    1.> web3.fromWei(10000000000000000,"ether")

    2."0.01"

    Ether币的基本单位

    Ether币最小的单位是Wei,也是命令行默认的单位, 然后每1000个进一个单位,依次是

    1.kwei (1000 Wei)

    2.mwei (1000 KWei)

    3.gwei (1000 mwei)

    4.szabo (1000 gwei)

    5.finney (1000 szabo)

    6.ether (1000 finney)

    简单地说就是就是1以太币 = 1000000000000000000 Wei (这就是上一站章中为何我们转移0.01个以太币,结果却显示很长的原因)

    如何进行ether和 Wei之间的转换

    1.Ether–> Wei:web3.toWei

    2.> web3.toWei(1)

    3."1000000000000000000"

    4.> web3.toWei(1.3423423)

    5."1342342300000000000"

    6.> web3.toWei(0.00034)

    7."340000000000000"

    1.>

    2.Wei–> Ether: web3.fromWei

    3.> web3.fromWei(10000000000000000)

    4."0.01"

    5.> web3.fromWei(1000000000000000000)

    6."1"

    7.>

    感谢阅读兄弟连区块链入门教程分享:http://bbs.itxdl.cn/read-htm-tid-242401-page-1.html

    相关文章

      网友评论

        本文标题:兄弟连区块链入门教程eth的账户和基本单位

        本文链接:https://www.haomeiwen.com/subject/kiectqtx.html