1. 虚拟币D开头的地址
应该就是像3开头的比特币地址一样。
虚拟货币地址是一种安全标识符,由一组唯一的字符串标记组成,允许交易者通过地址向个人或实体进行转账付款。虚拟货币地址通常需要一个私钥来专门访问存于其中的资金。
例如,比特币地址是以1或3开头的字母数字字符串,而以太坊地址以“0x”开头。比特币地址通常为26-35个字符,以太坊地址为40个字符。
2. 以太坊imtoken钱包地址
钱包地址等于银行卡。
在imtoken中创建好钱包后,会生成一个0x开头的长度为42的字符串,这个字符串就是我们数字钱包的地址了。
在以太坊网络中,一个钱包对应了一个地址,该地址不能修改,且该钱包中所有的代币的转账收款地址都是这个地址。
3. 以太坊中的国际银行账号iban
简单地说,以太坊中的iban账号是以太坊为了和传统的银行系统对接而引入的概念,web3.js中提供了以太坊地址和iban地址之间的转换方法。
iban这个概念源于传统的银行系统,其英文全称为 International Bank Account Number ,即国际银行帐号。iban的作用是为全球任意一家银行中的任意一个账户生成一个全球唯一的账号,以便进行跨行交易。一个iban账号看起来像这样:
iban地址最多可以包含34个字母和数字,其中的字母大小写不敏感。在iban
中包含以下信息:
以太坊引入了一个新的IBAN国别码:XE,其中E代表Ethereum,X代表非法币(non-jurisdictional currencies)。同时,以太坊提出了三种BBAN的编码格式:direct、basic和indirect。
direct编码方案中的BBAN为30个字母/数字,只有一个字段:账户编号。例如,以太坊地址 转换为direct方案的BBAN账号,就得到 。
可以使用web3.js中的 web3.eth.Iban.fromEthereumAddress()
方法来执行这一转换:
basic编码方案与direct方案的唯一区别在于,其BBAN长度为31个字母/数字,因此该方案不兼容IBAN。
indrect编码方案中的BBAN长度为16个字母/数字,包含三个字段:
例如,一个采用indrect编码方案的以太坊iban账号,看起来是这样:
前面的 XE 表示国别码, 81 为校验和,后面的16个字符就是indrect编码的BBAN,其中:
如前所述,使用 web3.eth.Iban.fromEthereumAddress() 方法,可以将一个以太坊地址转换为direct编码方案的iban账号。与之对应的,可以使用 web3.eth.Iban.toAddress 方法,将一个采用direct编码方案的iban账号,转换回以太坊地址。例如:
iban账号中的校验和用来帮助核验一个给定字符串是否为有效的iban账号。可以使用web3.js中的 web3.eth.Iban.isValid()
来进行执行校验。例如:
原文: http://blog.hubwiz.com/2018/06/03/ethereum-iban/
4. 在imToken2.0国际版本如何使用地址本
【为什么要使用地址本】
以太坊的地址和比特币的地址都是一串哈希值字符串, 由于辨识度较低, 用户很容易出现转错地址的情况, 解决这一问题的方案可以从两点出发: 1. 使用 ENS 域名; 2. 就是使用地址本, 将常用的转账地址存储下来。但是目前 ENS 域名的普及率较低, 还没有 "人手一份", 所以地址本是比较好的解决方案
【如何添加地址】
点击 "我" -> "地址本"
5. bsc eth合约地址
官网:https://metamask.io/。
类型:浏览器、安卓Android、苹果iOS支持主链:ETH支持浏览器:Chorme、火狐浏览器。先复制钱包地址,然后到下面的地址申请测试币 。
目前来看,领空投时一般需要用到的填写钱包地址有四个,ETH以太坊钱包地址、火币生态链HECO钱包地址、币安智能链BSC钱包地址,波场TRX钱包地址,这四个是常见的,其它不常用的就不介绍了,获取和创建方法都跟这四个差不多一样。创建任何虚拟货币钱包,都要备份好助记词、秘钥,否则钱包丢了资产就无法恢复!!!先介绍一下BSC和HECO1币安智能链 - BSC,全称Binance Smart Chain,它的钱包地址格式虽然跟ETH以太坊地址格式一样,都是0x??开头,但一般情况下是不能直接使用ETH钱包地址的,否则有可能会接收不到币。
6. 【以太坊易错概念】nonce, 公私钥和地址,BASE64/BASE58,
以太坊里的nonce有两种意思,一个是proof of work nonce,一个是account nonce。
在智能合约里,nonce的值代表的是该合约创建的合约数量。只有当一个合约创建另一个合约的时候才会增加nonce的值。但是当一个合约调用另一个合约中的method时 nonce的值是不变的。
在以太坊中nonce的值可以这样来获取(其实也就是属于一个账户的交易数量):
但是这个方法只能获取交易once的值。目前是没有内置方法来访问contract中的nonce值的
通过椭圆曲线算法生成钥匙对(公钥和私钥),以太坊采用的是secp256k1曲线,
公钥采用uncompressed模式,生成的私钥为长度32字节的16进制字串,公钥为长度64的公钥字串。公钥04开头。
把公钥去掉04,剩下的进行keccak-256的哈希,得到长度64字节的16进制字串,丢掉前面24个,拿后40个,再加上"0x",即为以太坊地址。
整个过程可以归纳为:
2)有些网关或系统只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法,而且base64特别适合在http,mime协议下快速传输数据。Base64使用【字母azAZ数字09和+/】这64个字符编码。原理是将3个字节转换成4个字节(3 X 8) = 24 = (4 X 6)
当剩下的字符数量不足3个字节时,则应使用0进行填充,相应的,输出字符则使用'='占位,因此编码后输出的文本末尾可能会出现1至2个'='。
1)Base58是用于Bitcoin中使用的一种独特的编码方式,主要用于产生Bitcoin的钱包地址。相比Base64,Base58不使用数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。
Base58Check是一种常用在比特币中的Base58编码格式,增加了错误校验码来检查数据在转录中出现的错误。 校验码长4个字节,添加到需要编码的数据之后。校验码是从需要编码的数据的哈希值中得到的,所以可以用来检测并避免转录和输入中产生的错误。使用 Base58check编码格式时,编码软件会计算原始数据的校验码并和结果数据中自带的校验码进行对比。二者不匹配则表明有错误产生,那么这个 Base58Check格式的数据就是无效的。例如,一个错误比特币地址就不会被钱包认为是有效的地址,否则这种错误会造成资金的丢失。
为了使用Base58Check编码格式对数据(数字)进行编码,首先我们要对数据添加一个称作“版本字节”的前缀,这个前缀用来明确需要编码的数 据的类型。例如,比特币地址的前缀是0(十六进制是0x00),而对私钥编码时前缀是128(十六进制是0x80)。 表4-1会列出一些常见版本的前缀。
接下来,我们计算“双哈希”校验码,意味着要对之前的结果(前缀和数据)运行两次SHA256哈希算法:
checksum = SHA256(SHA256(prefix+data))
在产生的长32个字节的哈希值(两次哈希运算)中,我们只取前4个字节。这4个字节就作为校验码。校验码会添加到数据之后。
结果由三部分组成:前缀、数据和校验码。这个结果采用之前描述的Base58字母表编码。下图描述了Base58Check编码的过程。
相同:
1) 哈希算法、Merkle树、公钥密码算法
https://blog.csdn.net/s_lisheng/article/details/77937202?from=singlemessage
2)全新的 SHA-3 加密标准 —— Keccak
https://blog.csdn.net/renq_654321/article/details/79797428
3)在线加密算法
http://tools.jb51.net/password/hash_md5_sha
4)比特币地址生成算法详解
https://www.cnblogs.com/zhaoweiwei/p/address.html
5)Base58Check编码实现示例
https://blog.csdn.net/QQ604666459/article/details/82419527
6) 比特币交易中的签名与验证
https://www.jianshu.com/p/a21b7d72532f