主页 > imtoken手机版下载 > 以太坊系统账户

以太坊系统账户

imtoken手机版下载 2023-12-08 05:07:47

联客,为开发者而生十个以太坊币,答疑解惑!

本文来自区块链技术社区,未经许可拒绝转载。

在这里插入图片描述

在以太坊系统中十个以太坊币,状态由称为“账户”的对象(每个账户由一个 20 字节的地址组成)和在两个账户之间传递价值和信息的状态转换组成。 以太坊中的一个账户由四部分组成:一个随机数,一个用于确定每笔交易只能被处理一次的计数器,一个账户当前的以太坊余额,一个账户的合约代码,如果有的话,账户的存储(默认为空) 简单地说,每个以太坊账户都有一对公钥和私钥。 公钥可以理解为账户地址,其他任何账户都可以访问。 私钥可以理解为加密后的密码。 这对公钥和私钥共同构成一个具有唯一标记的以太坊账户。 比如上一节我们建立的第一个以太坊账户eth.accounts[0],地址0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f就是公钥,加密后的密码就是私钥。 添加账户,我们可以输入命令personal.newAccount("123")创建一个新账户,(注意123可以改成其他密码)

以太坊私链挖矿时,挖出的以太币会存放在第一个以太坊账户,即eth.accounts[0],eth.accounts[1]默认不会有以太币。 这时候我们可以使用如下命令查看eth.accounts[0]中的以太币余额。

eth.getBalance("0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f")

如何在两个账户之间进行以太坊转换前面提到,每个账户的公钥(地址)是所有以太坊账户操作的核心,但是地址串太长了,我们分别用acc0/acc1来表示accounts[0]和[1],另外设置转0.01 ETH

acc0 = eth.accounts[0] “0xbcf5b841303bc08026ce2d3b8f83498ffe42c12f”

acc1 = 1eth.accounts[1] "0xb8b12a801b610176935a15321f77b48dd5c0c448"

金额 = web3.toWei(0.01) "10000000000000000"

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

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

以太坊的一种保护机制,账户每隔一段时间会自动锁定。 此时,任何账户之间的以太币兑换都将被拒绝,除非账户被解锁。 这时候我们需要执行personal.unlockAccount(acc0),输入密码解锁acc0。

个人的。 解锁帐户(acc0)

解锁账户 0xbcf5b841303bc08026ce2d3b8f83498ffe42c12fPasspphrase: true>

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

eth.sendTransaction({from: acc0, to: acc1, value: amount}) "0xeea74dd5ff3f1287614d52ebb674edb93e8c5e51e4296835044d3d858d3d9f10"

eth.getBalance(acc1)10000000000000000

我们可以看到此时acc1的值为100000000000000000000000,而不是之前的0。但是我们明明要给0.01个以太币,为什么这个值这么大呢? 其实也没错,我们只要输入命令web3.fromWei(10000000000000000,"ether")就知道了。

web3.fromWei(10000000000000000, "ether") "0.01"

以太币的基本单位是以太币的最小单位,也是命令行的默认单位,然后每1000个单位输入一个单位,后面是

kwei (1000 Wei)mwei (1000 KWei)gwei (1000 mwei)szabo (1000 gwei)finney (1000 szabo)ether (1000 芬尼)

简单的说就是1个ether = 1000000000000000000 Wei(这就是为什么我们在上一章转了0.01个ether,但是结果显示很长的原因)ether和Wei如何转换

Ether –> Wei: web3.toWei

web3.toWei(1) "1000000000000000000"

web3.toWei(1.3423423) "1342342300000000000"

web3.toWei(0.00034) "340000000000000"

Wei –> Ether: web3.fromWei

web3.fromWei(10000000000000000) "0.01"

web3.fromWei(1000000000000000000) "1"