新聞中心
這篇文章主要講解了“以太坊中的iban指的是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“以太坊中的iban指的是什么”吧!
成都創(chuàng)新互聯(lián)是專業(yè)的江北網(wǎng)站建設公司,江北接單;提供成都網(wǎng)站建設、成都網(wǎng)站設計,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行江北網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
簡單地說,以太坊中的iban賬號是以太坊為了和傳統(tǒng)的銀行系統(tǒng)對接而引入的概念,web3.js中提供了以太坊地址和iban地址之間的轉換方法。
iban:國際銀行賬號
iban這個概念源于傳統(tǒng)的銀行系統(tǒng),其英文全稱為International Bank Account Number
,即國際銀行帳號。iban的作用是為全球任意一家銀行中的任意一個賬戶生成一個全球唯一的賬號,以便進行跨行交易。一個iban賬號看起來像這樣:
XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS
iban地址最多可以包含34個字母和數(shù)字,其中的字母大小寫不敏感。在iban 中包含以下信息:
國別碼,用來標識國家,遵循ISO3166-1 alpha-2標準
錯誤識別碼,用來對地址進行校驗,采用mod-97-10校驗和協(xié)議,即ISO/IEC 7064:2003標準
基本銀行賬號,即
BBAN
(Basic Bank Account Number),用來標識銀行機構、網(wǎng)點及客戶在該機構內(nèi)的賬號,這三部分信息的編碼方案依賴于前面提及的國別碼
如果你希望馬上開始學習以太坊DApp實戰(zhàn)開發(fā),推薦兩個在線互動教程:
以太坊教程,主要是教授區(qū)塊鏈新手入門DApp和智能合約實戰(zhàn)開發(fā)
以太坊開發(fā),主要是通過node.js、express、ipfs等開發(fā)電商平臺的實戰(zhàn)
以太坊iban:新的國別碼和BBAN編碼方案
以太坊引入了一個新的IBAN國別碼:XE,其中E代表Ethereum,X代表非法幣(non-jurisdictional currencies)。同時,以太坊提出了三種BBAN的編碼格式:direct、basic和indirect。
direct編碼方案中的BBAN為30個字母/數(shù)字,只有一個字段:賬戶編號。例如,以太坊地址00c5496aee77c1ba1f0854206a26dda82a81d6d8
轉換為direct方案的BBAN賬號,就得到XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS
。
可以使用web3.js中的web3.eth.Iban.fromEthereumAddress() 方法來執(zhí)行這一轉換:
let myiban = web3.eth.Iban.fromEthereumAddress('0x00c5496aee77c1ba1f0854206a26dda82a81d6d8') console.log(myiban) //XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS
basic編碼方案與direct方案的唯一區(qū)別在于,其BBAN長度為31個字母/數(shù)字,因此該方案不兼容IBAN。
indrect編碼方案中的BBAN長度為16個字母/數(shù)字,包含三個字段:
資產(chǎn)編號,由3個字母/數(shù)字組成
機構編號,由4個字母/數(shù)字組成
機構內(nèi)客戶編號,由9個字母/數(shù)字組成
例如,一個采用indrect編碼方案的以太坊iban賬號,看起來是這樣:
XE81ETHXREGGAVOFYORK
前面的XE
表示國別碼,81
為校驗和,后面的16個字符就是indrect編碼的BBAN,其中:
ETH:在本例中,表示客戶賬戶內(nèi)的資產(chǎn)編號。目前ETH是唯一有效的資產(chǎn)編號
XREG:機構編號,XREG表示以太坊基本注冊合約
GAVOFYORK:機構內(nèi)客戶的編號
iban賬號與以太坊地址的轉換
如前所述,使用web3.eth.Iban.fromEthereumAddress()
方法,可以將一個以太坊地址轉換為direct編碼方案的iban賬號。與之對應的,可以使用web3.eth.Iban.toAddress方法,將一個采用direct編碼方案的iban賬號,轉換回以太坊地址。例如:
let myaddr = web3.eth.Iban.toAddress("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS") console.log(myaddr) //0x00c5496aEe77C1bA1f0854206A26DdA82a81D6D8
檢查iban賬號的有效性
iban賬號中的校驗和用來幫助核驗一個給定字符串是否為有效的iban賬號??梢允褂脀eb3.js中的web3.eth.Iban.isValid() 來進行執(zhí)行校驗。例如:
let isValid = web3.eth.Iban.isValid("XE81ETHXREGGAVOFYORK") console.log(isValid) // true isValid = web3.eth.Iban.isValid("XE82ETHXREGGAVOFYORK") console.log(isValid) // false,因為校驗和無效
感謝各位的閱讀,以上就是“以太坊中的iban指的是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對以太坊中的iban指的是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!
當前標題:以太坊中的iban指的是什么
轉載注明:http://www.dlmjj.cn/article/jggehs.html