溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

以太坊中的iban指的是什么

發(fā)布時(shí)間:2022-01-15 14:44:58 來(lái)源:億速云 閱讀:381 作者:iii 欄目:互聯(lián)網(wǎng)科技

這篇文章主要講解了“以太坊中的iban指的是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“以太坊中的iban指的是什么”吧!

簡(jiǎn)單地說(shuō),以太坊中的iban賬號(hào)是以太坊為了和傳統(tǒng)的銀行系統(tǒng)對(duì)接而引入的概念,web3.js中提供了以太坊地址和iban地址之間的轉(zhuǎn)換方法。

iban:國(guó)際銀行賬號(hào)

iban這個(gè)概念源于傳統(tǒng)的銀行系統(tǒng),其英文全稱為International Bank Account Number,即國(guó)際銀行帳號(hào)。iban的作用是為全球任意一家銀行中的任意一個(gè)賬戶生成一個(gè)全球唯一的賬號(hào),以便進(jìn)行跨行交易。一個(gè)iban賬號(hào)看起來(lái)像這樣:

XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS

iban地址最多可以包含34個(gè)字母和數(shù)字,其中的字母大小寫不敏感。在iban 中包含以下信息:

  • 國(guó)別碼,用來(lái)標(biāo)識(shí)國(guó)家,遵循ISO3166-1 alpha-2標(biāo)準(zhǔn)

  • 錯(cuò)誤識(shí)別碼,用來(lái)對(duì)地址進(jìn)行校驗(yàn),采用mod-97-10校驗(yàn)和協(xié)議,即ISO/IEC 7064:2003標(biāo)準(zhǔn)

  • 基本銀行賬號(hào),即BBAN(Basic Bank Account Number),用來(lái)標(biāo)識(shí)銀行機(jī)構(gòu)、網(wǎng)點(diǎn)及客戶在該機(jī)構(gòu)內(nèi)的賬號(hào),這三部分信息的編碼方案依賴于前面提及的國(guó)別碼

如果你希望馬上開(kāi)始學(xué)習(xí)以太坊DApp實(shí)戰(zhàn)開(kāi)發(fā),推薦兩個(gè)在線互動(dòng)教程:

  • 以太坊教程,主要是教授區(qū)塊鏈新手入門DApp和智能合約實(shí)戰(zhàn)開(kāi)發(fā)

  • 以太坊開(kāi)發(fā),主要是通過(guò)node.js、express、ipfs等開(kāi)發(fā)電商平臺(tái)的實(shí)戰(zhàn)

以太坊iban:新的國(guó)別碼和BBAN編碼方案

以太坊引入了一個(gè)新的IBAN國(guó)別碼:XE,其中E代表Ethereum,X代表非法幣(non-jurisdictional currencies)。同時(shí),以太坊提出了三種BBAN的編碼格式:direct、basic和indirect。

direct編碼方案中的BBAN為30個(gè)字母/數(shù)字,只有一個(gè)字段:賬戶編號(hào)。例如,以太坊地址00c5496aee77c1ba1f0854206a26dda82a81d6d8轉(zhuǎn)換為direct方案的BBAN賬號(hào),就得到XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS。

可以使用web3.js中的web3.eth.Iban.fromEthereumAddress() 方法來(lái)執(zhí)行這一轉(zhuǎn)換:

let myiban = 

web3.eth.Iban.fromEthereumAddress('0x00c5496aee77c1ba1f0854206a26dda82a81d6d8')

console.log(myiban) //XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS

basic編碼方案與direct方案的唯一區(qū)別在于,其BBAN長(zhǎng)度為31個(gè)字母/數(shù)字,因此該方案不兼容IBAN。

indrect編碼方案中的BBAN長(zhǎng)度為16個(gè)字母/數(shù)字,包含三個(gè)字段:

  • 資產(chǎn)編號(hào),由3個(gè)字母/數(shù)字組成

  • 機(jī)構(gòu)編號(hào),由4個(gè)字母/數(shù)字組成

  • 機(jī)構(gòu)內(nèi)客戶編號(hào),由9個(gè)字母/數(shù)字組成

例如,一個(gè)采用indrect編碼方案的以太坊iban賬號(hào),看起來(lái)是這樣:

XE81ETHXREGGAVOFYORK

前面的XE表示國(guó)別碼,81為校驗(yàn)和,后面的16個(gè)字符就是indrect編碼的BBAN,其中:

  • ETH:在本例中,表示客戶賬戶內(nèi)的資產(chǎn)編號(hào)。目前ETH是唯一有效的資產(chǎn)編號(hào)

  • XREG:機(jī)構(gòu)編號(hào),XREG表示以太坊基本注冊(cè)合約

  • GAVOFYORK:機(jī)構(gòu)內(nèi)客戶的編號(hào)

iban賬號(hào)與以太坊地址的轉(zhuǎn)換

如前所述,使用web3.eth.Iban.fromEthereumAddress()方法,可以將一個(gè)以太坊地址轉(zhuǎn)換為direct編碼方案的iban賬號(hào)。與之對(duì)應(yīng)的,可以使用web3.eth.Iban.toAddress方法,將一個(gè)采用direct編碼方案的iban賬號(hào),轉(zhuǎn)換回以太坊地址。例如:

let myaddr = web3.eth.Iban.toAddress("XE7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS")
console.log(myaddr) //0x00c5496aEe77C1bA1f0854206A26DdA82a81D6D8

檢查iban賬號(hào)的有效性

iban賬號(hào)中的校驗(yàn)和用來(lái)幫助核驗(yàn)一個(gè)給定字符串是否為有效的iban賬號(hào)??梢允褂脀eb3.js中的web3.eth.Iban.isValid() 來(lái)進(jìn)行執(zhí)行校驗(yàn)。例如:

let isValid = web3.eth.Iban.isValid("XE81ETHXREGGAVOFYORK")
console.log(isValid) // true
isValid = web3.eth.Iban.isValid("XE82ETHXREGGAVOFYORK")
console.log(isValid) // false,因?yàn)樾r?yàn)和無(wú)效

感謝各位的閱讀,以上就是“以太坊中的iban指的是什么”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)以太坊中的iban指的是什么這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI