以太坊中的计量单位及相互转换

以太币单位转换

首先我们来看一下以太币单位之间的转换,以太币的最小单位为wei,1个eth相当于10的8次方wei。通常,大家也使用Gwei作为展示单位。比较常用的就是eth,Gwei和wei。

单位 wei值 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

进制转换

为了使用和验证web3的操作命令,我们先进入geth的console控制台,在这里对具体的单位或进制转换进行详细的实例演示。

十六进制转十进制

此转换方法为web3.toDecimal(hexString)。直接在控制台输入一下命令进行使用此函数进行转换。

> web3.toDecimal(‘0x16‘);
22

通过此函数将十六进制的0x16转换为十进制的22。

十进制转十六进制

转换函数:web3.fromDecimal(number)。

控制台命令及结果如下:

> web3.fromDecimal(‘22‘);
"0x16"

转换为BigNumber类型

把给定数字或十六进制字符串转为 BigNumber 类型的实例。

> web3.toBigNumber(‘200000000000000000000001‘);
2.00000000000000000000001e+23

此处转换需要注意的是BigNumber只会保留小数点后20位,超过20位的部分将会被截取掉。

以太币单位转换

上面表格中列出了以太币之间的单位进制,同样可以使用web3进行相应的转换,基本函数为web3.fromWei和web3.toWei(number, unit)。

具体实例如下:

// wei转换为ether
> web3.fromWei(‘22000000000000‘, ‘ether‘);
"0.000022"

// wei转换为kwei
> web3.fromWei(‘1000‘,‘kwei‘)
"1"

// wei转换为gwei
> web3.fromWei(‘1000000000‘,‘gwei‘)
"1"

// ether转换为wei
> web3.toWei(‘1‘,‘ether‘)
"1000000000000000000"

其他的相关转换大家可自行尝试,下面列出相应的转换种类:

  • kwei/ada
  • mwei/babbage
  • gwei/shannon
  • szabo
  • finney
  • ether
  • kether/grand/einstein
  • mether
  • gether
  • tether

通过上面的函数,在交易的过程中我们就可以随意的单位进行发送交易,而不必使用最小单位wei。

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

通过查询余额的方法,我们也可以看出区块链中存储这些数据的单位为wei。

> web3.eth.getBalance(eth.coinbase)
267999999999999999999

代币中的单位
在编写ERC-20的代币合约时我们可以指定代币的单位,比如:

uint8 public decimals;

这里就指定了代币单位精确到小数点后几位。比如精确到小数点后3位,那么1个代币存储时就是1000个最小单位的值。

原文地址:http://blog.51cto.com/634435/2122356

时间: 2024-09-30 22:08:28

以太坊中的计量单位及相互转换的相关文章

PoW挖矿算法原理及其在比特币、以太坊中的实现

PoW,全称Proof of Work,即工作量证明,又称挖矿.大部分公有链或虚拟货币,如比特币.以太坊,均基于PoW算法,来实现其共识机制.即根据挖矿贡献的有效工作,来决定货币的分配.? 比特币区块 ? 比特币区块由区块头和该区块所包含的交易列表组成.区块头大小为80字节,其构成包括:? 4字节:版本号 32字节:上一个区块的哈希值 32字节:交易列表的Merkle根哈希值 4字节:当前时间戳 4字节:当前难度值 4字节:随机数Nonce值? 此80字节长度的区块头,即为比特币Pow算法的输入

区块链学习(2)--以太坊中基本概念

1.以太币单位换算.以太坊的单位,沿袭了科学界的传统,用做过杰出贡献的数学.密码学专家的名字命名.以太坊的最小单位是 Wei. Kwei(Babbage)= 10 的 3 次方 Wei Mwei(Lovelace)= 10 的 6 次方 Wei Gwei(Shannon)= 10 的 9 次方 Wei MicroEther(Szabo)= 10 的 12 次方 Wei MilliEther(Finney)= 10 的 15 次方 Wei Ether = 10 的 18 次方 Wei 2.以太坊账

以太坊中RLP编码详解一文全搞懂

定义 RLP(Recursive Length Prefix,递归长度前缀)是一种编码算法,用于编码任意的嵌套结构的二进制数据,它是以太坊中数据序列化/反序列化的主要方法,区块.交易等数据结构在持久化时会先经过RLP编码后再存储到数据库中. RLP编码的定义只处理两类数据:一类是字符串(例如字节数组),一类是列表.字符串指的是一串二进制数据,列表是一个嵌套递归的结构,里面可以包含字符串和列表,例如["cat",["puppy","cow"],&q

以太坊中的gas、gas price、gas limit到底是什么

什么是gas gas是"燃料"的意思,在以太坊区块链上实现了一个EVM(以太坊虚拟机)的代码运行环境,在链上执行写入操作时,网络中的每个全节点都会进行相同的计算并存储相同的值,这种执行的消耗是昂贵的,为了促使大家将能在链下进行的运算都不放到链上进行,也为了奖励矿工,因此在链上每执行一个写入操作时,都需要支付一定的费用,用gas为单位来计数,每个在链上可以执行的命令都设置了一个消耗的gas值,例:PUSH操作需要消耗3个gas,一次转账一般要消耗21000gas,gas使用ETH来支付.

以太坊(三)

总览 以太坊虚拟机(EVM)是以太坊中智能合约的运行环境.它不仅被沙箱封装起来,事实上它被完全隔离,也就是说运行在EVM内部的代码不能接触到网络.文件系统或者其它进程.甚至智能合约与其它智能合约只有有限的接触. 账户 以太坊中有两类账户,它们共用同一个地址空间.外部账户,该类账户被公钥-私钥对控制(人类).合约账户,该类账户被存储在账户中的代码控制. 外部账户的地址是由公钥决定的,合约账户的地址是在创建改合约时确定的(这个地址由合约创建者的地址和该地址发出过的交易数量计算得到,地址发出过的交易数

3.以太坊之秘钥文件

1.账号 账号在以太坊中扮演着核心的角色.以太坊共有两种账号类型: 外部账号( EOA) 和合约账号. 在这里我们先重点关注外部账号,简称账号.合约账号简称合约,合约账户在合约章节中详细介绍. 外部账户和合约账户都是账户的通用概念,这些账户其实都是状态对象.外部账户的余额就是外部账户的一个状态对象,合约账户的状态除了有余额还有合约存储. 所有账户的状态都是以太坊网络的状态,以太坊网络的状态随着每一个区块的更新而变化.用户通过交易和以太坊区块链进行交互,在这个过程中,账户起着至关重要,不可缺少的作

4.区块链平台以太坊从入门到精通之 以太币

1.以太币简介 以太币( ether) 是以太坊中使用的货币的名字.它是用于支付在虚拟机中的运算的费用. 了解就可以 2.获取和发送以太币 有三种方式获取 1.成为一名矿工,通过挖矿来获得以太币的奖励. 2.从交易平台处购买或兑换 3. 图形化界面的以太坊客户端集成了https://shapeshift.io/#/coins 接口. 可以直接在客户端上购买以太币. (需要在主网上才可以) 3.集中的交易兑换市场

[以太坊源代码分析] V. 从钱包到客户端

以太坊作为一种数字货币以太币的运行系统,显然它也会有类似于钱包的客户端程序,用来提供管理账户余额等功能.我们知道,存放(或者绑定,挂靠)以太币的账户,在代码中以Address类型变量存在,所以能够管理多个以太坊账户应该属于客户端程序基本功能之一.本文会从管理账户信息的代码包开始,自底向上的介绍以太坊客户端程序的一些主要模块.1. 管理账户信息的代码包accounts 在以太坊源代码的accounts代码包中,呈现账户地址的最小结构体叫Account{},它的主要成员就是一个common.Addr

以太坊是什么 - 以太坊开发入门指南

很多同学已经跃跃欲试投入到区块链开发队伍当中来,可是又感觉无从下手,本文将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门. 以太坊是什么 以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台.它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用. 对这句话不理解的同学,姑且可以理解为以太坊是区块链里的Android,它是一个开发平台,让我们就可以像基于Android Framework一样基于区块链技术写应用. 在没有以太坊之前,写区