1cedd01bc34f以太坊笔记以太坊

以太坊中代币数量的计量单位说明

2016-11-13  本文已影响10615人  老码农不上班
Unit Wei Value Wei
wei 1 1 wei
Kwei (babbage) 1e3 wei 1,000
Mwei (lovelace) 1e6 wei 1,000,000
Gwei (shannon) 1e9 wei 1,000,000,000
microether (szabo) 1e12 wei 1,000,000,000,000
milliether (finney) 1e15 wei 1,000,000,000,000,000
ether 1e18 wei 1,000,000,000,000,000,000

geth js 方法

web3.toDecimal(hexString)
var number = web3.toDecimal('0x15');
console.log(number); // 21
var value = web3.fromDecimal('21');
console.log(value); // "0x15"
var value = web3.toBigNumber('200000000000000000000001');
console.log(value); // instanceOf BigNumber
console.log(value.toNumber()); // 2.0000000000000002e+23
console.log(value.toString(10)); // '200000000000000000000001'

关于 BigNumber 需要注意点请看 note on BigNumber

例子

举个交易的例子

>eth.sendTransaction({from:eth.coinbase,to:"0x2bda4364bb076187f0ef0067a61ccb95d636e383",value:web3.toWei(1,"ether")})

转账的数量是1个 ether(以太币)
web3.toWei(1,"ether")把以太币转为 wei
再来通过获取以太坊账户的余额看看在区块链中这些代币数量的存储方式。

> web3.eth.getBalance(eth.coinbase)
267999999999999999999
> web3.fromWei(web3.eth.getBalance(eth.coinbase),"ether")
267.999999999999999999

可以看出,在交易过程中,无论交易的代币是什么,都需要把这些代币转为 wei 存储在以太坊区块链中。
上面获取账户余额例子中,就是获取钱包中 coinbase 账户的余额,得到的结果单位是 wei ,我们通过 fromWei 把wei转为了ether(以太币)

上一篇下一篇

猜你喜欢

热点阅读