Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >以太坊中以太币及代币计量单位

以太坊中以太币及代币计量单位

作者头像
程序新视界
发布于 2022-05-06 02:21:48
发布于 2022-05-06 02:21:48
1.6K00
代码可运行
举报
文章被收录于专栏:丑胖侠丑胖侠
运行总次数:0
代码可运行

无论是构建交易进行以太币的转账或是调用智能合约进行代币的发放,单位都是不可或缺的。今天就带大家详细了解一下以太坊中以太币和代币的单位,以及如何通过web3的方式进行操作。

以太币单位转换

首先我们来看一下以太币单位之间的转换,以太币的最小单位为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控制台,在这里对具体的单位或进制转换进行详细的实例演示。

启动geth,进入控制台命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/Users/zzs/develop/eth/geth/geth attach rpc:/Users/zzs/Library/Ethereum/geth.ipc

可根据自己的具体情况调整geth路径和ipc路径。

十六进制转十进制

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> web3.toDecimal('0x16');
22

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

十进制转十六进制

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

控制台命令及结果如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> web3.fromDecimal('22');
"0x16"

转换为BigNumber类型

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> web3.toBigNumber('200000000000000000000001');
2.00000000000000000000001e+23

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

以太币单位转换

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

具体实例如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 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。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>eth.sendTransaction({from:eth.coinbase,to:"0x2bda4364bb076187f0ef0067a61ccb95d636e383",value:web3.toWei(1,"ether")})

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> web3.eth.getBalance(eth.coinbase)
267999999999999999999

代币中的单位

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uint8 public decimals;

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【一步步一起学DApp开发】(四)web3.js 基本使用 | 连接geth | 创建web客户端
web3.js内部使用JSONRPC与geth通信。它把所有JSON-RPC API当作JavaScript API,也就是说,它不仅支持所有与以太坊相关的API,还支持与Whisper和Swarm相关的API。
前端修罗场
2023/10/07
1.2K0
web3.fromWei
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战开发入门 去中心化电商DApp实战开发 以太坊货币单位之间的转换。将以wei为单位的资金,转换为指定单位的数值: 调用: web3.fromWei(number, unit) 参数: number:. Number|String|BigNumber - 数字或BigNumber。 unit:. String - 单位字符串 货币单位可取值如下 kwei/ada mwei/babbage gwei/shan
用户1408045
2018/05/17
7470
以太坊开发指南 #1
你应该听说过了以太坊[4]了,准备进入以太坊的世界冒险了吗?这篇文章将快速介绍一些区块链基础知识,然后让了解与模拟的以太坊节点进行交互--读取区块数据,检查账户余额并发送交易。在这个过程中,我们将理解传统的应用程序与这种新的去中心化应用之间的差异。
Tiny熊
2021/02/25
1.3K0
以太坊开发指南 #1
web3.toWei
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战开发入门 去中心化电商DApp实战开发 将给定资金转换为以wei为单位的数值。 调用: web3.toWei(number, unit) 参数: number:Number|String|BigNumber - 数字或BigNumber unit : String - 字符串单位 可选择的单位如下: kwei/ada mwei/babbage gwei/shannon szabo finney ether
用户1408045
2018/05/17
7640
搭建以太坊私有链
区块链技术正在逐渐走向成熟,以太坊作为区块链领域的重要代表被广泛应用于智能合约、去中心化应用等领域,然而公有链上的交易需要消耗大量的手续费,且数据的公开性也限制了其在某些场景下的应用。因此搭建以太坊私有链成为了一种更加灵活、高效、安全的解决方案,本文将介绍如何搭建以太坊私有链帮助读者更好地理解和应用区块链技术
Al1ex
2023/09/07
1.8K1
搭建以太坊私有链
以太坊介绍和使用
以太坊是一个能够在区块链上实现智能合约、开源的底层系统。换言之,以太坊是可编程的区块链,它并不是给用户一系列预先设定好的操作(例如比特币交易),而是允许用户按照自己的意愿创建复杂的操作。这样一来,以太坊是就可以作为多种类型去中心化区块链应用的平台,这些应用比如包括之前很火的各种代币但并不仅限于此,我们可以做很多除了代币之外的东西,比如你可以输出一行代表自己不是外行身份的hello world,或者在上面做一个简单的计算器,总之你可以在上面实现你想要的任何功能。
fnatic
2022/07/15
37.4K0
第三课 以太坊术语说明及开发者资源列表
也称钱包,提供账户管理、挖矿、转账、智能合约的部署和执行等等功能,以太坊节点利用以太坊客户端接入到以太坊网络。 现在以太坊客户端主要有:Wallent/ist , Geth, Parity, Harmony,
辉哥
2018/08/10
8050
第三课 以太坊术语说明及开发者资源列表
第十一课 从宠物商店案例看DAPP架构和WEB3.JS交互接口
【本文目标】 了解ETH生态下DAPP去中心化应用程序的框架和交互流程,了解WEB3.JS的作用和接口函数。 【前置条件】 完成了《第六课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)》的学习实践,对智能合约了解。 【技术收获】 1). DAPP架构 2). ETH节点框架 3).宠物商店的APP.js文件的业务处理流程图和函数介绍 4).web3.js接口
辉哥
2018/08/10
2.7K0
第十一课 从宠物商店案例看DAPP架构和WEB3.JS交互接口
web3.py简介
与web3.py库交互的共同入口是web3对象。web3对象提供API,用于python开发的应用与以太坊区块链进行交互,通常是通过连接JSON-RPC服务器进行。
笔阁
2018/09/04
1.3K0
【手把手】如何在10分钟内搭建一个以太坊私有链?
在开发以太坊时,很多时候需要搭建一条以太坊私有链,这篇来自作者熊丽兵的文章,手把手教你10分钟内如何在Mac上进行搭建。 作者 | 熊丽兵 整理 | 科科 阅读本文前,你应该对以太坊语言有所了解,如果你还不了解,建议你先看以太坊是什么。 go-ethereum客户端安装 Go-ethereum客户端通常被称为Geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。Geth得益于Go语言的多平台特性,支持在多个平台上使用(比如Windows、Linux、Mac)。Geth是以太坊协议的具体落地实现,通过
区块链大本营
2018/06/19
2.5K0
以太坊私链入门
中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>
netkiller old
2018/02/02
5.1K2
快速学习-Geth 控制台命令
Geth Console 是一个交互式的 JavaScript 执行环境,里面内置了一些用来操作以太坊的 JavaScript 对象,我们可以直接调用这些对象来获取区块链上的相关信息。这些对象主要包括: eth:主要包含对区块链进行访问和交互相关的方法; net:主要包含查看 p2p 网络状态的方法; admin:主要包含与管理节点相关的方法; miner:主要包含挖矿相关的一些方法; personal:包含账户管理的方法; txpool:包含查看交易内存池的方法; web3:包含以上所有对象,还包含一些通用方法。 常用命令有: personal.newAccount():创建账户; personal.unlockAccount():解锁账户; eth.accounts:列出系统中的账户; eth.getBalance():查看账户余额,返回值的单位是 Wei; eth.blockNumber:列出当前区块高度; eth.getTransaction():获取交易信息; eth.getBlock():获取区块信息; miner.start():开始挖矿; miner.stop():停止挖矿; web3.fromWei():Wei 换算成以太币; web3.toWei():以太币换算成 Wei; txpool.status:交易池中的状态;
cwl_java
2020/04/10
2.1K0
以太坊查看账户余额
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战入门教程 以太坊去中心化电商应用开发实战 使用web3获取账户余额 可以使用JavaScript API来获取以太坊账户余额,例如在JavaScript代码中: web3.fromWei(web3.eth.getBalance(web3.eth.coinbase)); 如果你在geth控制台里,可以将web3.eth使用其eth别名代替: > web3.fromWei(eth.getBalance(et
用户1408045
2018/05/17
3.1K0
智能合约:介绍、geth、Ethereum Wallet
从看雪论坛换了一本《智能合约安全分析和审计指南》,看了一些智能合约相关的内容,因为我之前对于区块链的了解仅仅是只知道世界上有一种叫做比特币的东西,所以对于这些概念的理解还是比较困难的
yichen
2020/05/04
1.9K0
以太坊开发入门 - 基本概念
本质上是一个去中心的数据库,区块链包含一串数据块,每个数据块中包含若干交易数据、时间戳等信息,可用于验证交易的有效性。
寒星
2018/06/19
6500
以太坊的安装、私有链创世区块搭建以及智能合约的部署
官方下载地址:https://geth.ethereum.org/downloads/ 下载相应系统版本的geth,安装成功后可以查看版本信息:
梦飞
2022/06/23
1.6K0
以太坊的安装、私有链创世区块搭建以及智能合约的部署
web3js 实战基本操作
这个篇文章的总结是在学习 b站web3.js的一个基础教程课 的课程总结,方便后续在文章中查找API。
六个周
2023/02/16
1.8K0
从零构建以太坊(Ethereum)智能合约到项目实战——第22章 玩转truffle framework 、Web3.js 框架
P84 、1-玩转truffle framework、Web3、js 框架 内容介绍
墨文
2020/02/28
5480
探路以太坊
关键字:以太坊,加密货币,crowdsale,geth,console,web3.js 以太坊简介 一句话简介:以太坊是一个基于功能齐全的编程语言构建的众多去中心化区块链应用的平台。 下面来解读一下这句话: 平台:首先以太坊是一个平台,这个平台上面有很多应用。 应用:这些应用是是去中心化的,基于区块链技术。所以这些应用可以实现永不停歇,因为它是分布式的,去中心化的,基于P2P网络的,这些应用被管理在以太坊钱包上面。 钱包:以太坊钱包,本质上以太坊钱包也是其中一个应用,它是一个网关,可以管理所有基
文彬
2018/05/03
2K0
CentOS7 搭建以太坊私有链
这里要注意下 最新的golang 1.10 和go-ethereum-1.7.3 不太兼容
王小明_HIT
2019/08/13
1.2K0
相关推荐
【一步步一起学DApp开发】(四)web3.js 基本使用 | 连接geth | 创建web客户端
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验