摘要:前言區(qū)塊鏈錢包分為兩類冷錢包和熱錢包。通俗的講冷錢包就是錢包存在本地,熱錢包則是存在服務(wù)端。本文主要對(duì)冷錢包進(jìn)行分析以及一些相關(guān)業(yè)務(wù)功能的介紹。轉(zhuǎn)賬還涉及到礦工費(fèi)用的計(jì)算,礦工費(fèi)用,和換算關(guān)系收款生成相應(yīng)的地址二維碼既可
前言
區(qū)塊鏈錢包分為兩類:冷錢包和熱錢包。通俗的講冷錢包就是錢包存在本地,熱錢包則是存在服務(wù)端。本文主要對(duì)冷錢包進(jìn)行分析以及一些相關(guān)業(yè)務(wù)功能的介紹。相關(guān)插件:bip39(生成助記詞),ethereumjs-wallet(生成錢包,導(dǎo)入,導(dǎo)出),ethereumjs-tx(轉(zhuǎn)賬簽名),ethereumjs-util(ETH功能集成插件),cryptojs(加密)
正文我們知道區(qū)塊鏈錢包有幾個(gè)概念:助記詞、私鑰、地址、keyStore
這幾個(gè)關(guān)系如下:助記詞(單向=>)私鑰
私鑰(單向=>)地址
密碼+私鑰( 雙向<=>)keyStore
錢包業(yè)務(wù)功能創(chuàng)建錢包
導(dǎo)入錢包(助記詞導(dǎo)入,keyStore導(dǎo)入,私鑰導(dǎo)入)
錢包管理(導(dǎo)出私鑰,導(dǎo)出keyStore,修改密碼)
轉(zhuǎn)賬和收款
業(yè)務(wù)功能分析存在本地錢包加密前的數(shù)據(jù)格式
[{"wallet address": 加密私鑰(私鑰和密碼進(jìn)行加密)+其他錢包信息},...]
創(chuàng)建錢包
創(chuàng)建錢包流程: 生成隨機(jī)助記詞 => 通過(guò)助記詞創(chuàng)建錢包=>錢包信息和加密明文(私鑰和密碼加密)AES加密存入localStorage
導(dǎo)入錢包
通過(guò)插件提供方法,根據(jù)助記詞|keyStore|私鑰,找到錢包信息(地址和私鑰)=>錢包信息和加密明文(私鑰和密碼加密)AES加密存入localStorage
錢包管理
錢包管理需要密碼驗(yàn)證,由于本地存的是私鑰和密碼加密后的加密私鑰,解密需要私鑰和原密碼來(lái)解密,因此不能直接通過(guò)解密獲取原密碼。所以我們需要換一個(gè)思路來(lái)驗(yàn)證,由前文的關(guān)系可知私鑰可以找到錢包地址,所以可以解密錢包的字符串,通過(guò)錢包地址獲取加密的錢包信息,再通過(guò)用戶輸入的密碼和加密私鑰解密獲取解密私鑰,再通過(guò)私鑰獲取地址,判斷用戶輸入的和原密碼解密后的私鑰獲取的地址是否一致。
密碼驗(yàn)證流程:解密錢包明文 => 得到所有加密錢包[{"wallet address": 加密私鑰(錢包和密碼)},...] => 地址獲取當(dāng)前加密錢包信息 => 通過(guò)用戶輸入的密碼和加密私鑰解密獲取解密的私鑰 => 通過(guò)解密私鑰去獲取地址 =>判斷地址和當(dāng)前地址是否一致
轉(zhuǎn)賬和收款
轉(zhuǎn)賬涉及到交易的簽名,而ethereumjs-tx則提供相應(yīng)的方法。轉(zhuǎn)賬還涉及到礦工費(fèi)用的計(jì)算,礦工費(fèi)用(gas) = gasPrice * gaslimit,gas和eth換算關(guān)系: 1eth = 1e9(gwei)
收款生成相應(yīng)的地址二維碼既可
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/96948.html
摘要:帳號(hào)之間的比特幣支付通過(guò),我們可以先轉(zhuǎn)比特幣給機(jī)器人,然后讓機(jī)器人轉(zhuǎn)幣給新用戶。下面的代碼,可以讀取比特幣錢包余額讀取的余額,來(lái)確認(rèn)比特幣是不是轉(zhuǎn)成功了注意是新用戶的。 showImg(https://github.com/wenewzhang/mixin_labs-go-bot/raw/master/Bitcoin_go.jpg);我們已經(jīng)創(chuàng)建過(guò)一個(gè)回復(fù)消息的機(jī)器人和一個(gè)能自動(dòng)支付比...
摘要:下面的代碼,可以讀取比特幣錢包余額網(wǎng)內(nèi)免手續(xù)費(fèi)的,并且即時(shí)確認(rèn)任何幣在內(nèi)部的交易,都是無(wú)手續(xù)費(fèi)的,并且立刻到賬。 基于Mixin Network的 Nodejs 比特幣開(kāi)發(fā)教程: 創(chuàng)建比特幣錢包 showImg(https://segmentfault.com/img/remote/1460000018771566?w=1200&h=659);我們已經(jīng)創(chuàng)建過(guò)一個(gè)回復(fù)消息的機(jī)器人和一個(gè)能...
摘要:下面的代碼,可以讀取比特幣錢包余額網(wǎng)內(nèi)免手續(xù)費(fèi)的,并且即時(shí)確認(rèn)任何幣在內(nèi)部的交易,都是無(wú)手續(xù)費(fèi)的,并且立刻到賬。 showImg(https://segmentfault.com/img/bVboFVZ?w=1200&h=659);我們已經(jīng)創(chuàng)建過(guò)一個(gè)回復(fù)消息的機(jī)器人和一個(gè)能自動(dòng)支付比特幣的機(jī)器人. 通過(guò)本教程的學(xué)習(xí),你可以學(xué)到如下內(nèi)容 如何創(chuàng)建一個(gè)比特幣錢包. 如何讀取比特幣錢包的余...
閱讀 1496·2021-10-11 10:59
閱讀 1857·2021-09-09 11:36
閱讀 1370·2019-08-30 15:55
閱讀 1322·2019-08-29 11:20
閱讀 3057·2019-08-26 13:39
閱讀 1458·2019-08-26 13:37
閱讀 1951·2019-08-26 12:11
閱讀 1313·2019-08-23 14:28