從0到1簡易區塊鏈開發手冊V0 5 實現餘額查詢

2021-09-03 10:36:36 字數 1693 閱讀 1478

其實這個章節的一些知識點在轉賬交易那一章節均有所涉及,所以,查詢餘額這個功能相對而言比較簡單,只要熟悉了utxo模型,加上對交易流程的了解之後,對查詢餘額基本上已經有了思路。

func (cli *cli) getbalance(address string) 

defer bc.db.close()

utxoset :=&utxoset

total:=utxoset.getbalance(address)

fmt.printf("%s,餘額是:%d\n", address, total)

}

getbalance

func (utxoset *utxoset) getbalance(address string) int64 

return total

}

findunspentutxosbyaddress

func (utxoset *utxoset) findunspentutxosbyaddress(address string) *utxo }}

}return nil

})if err != nil

return utxos

}

4.1 獲取所有位址
$ ./mybtc  getaddresslists
返回結果

錢包位址列表為:

1dhpnhkfk9uudog2f2xbvx9dq4nxpf5q4q

1htjve4mww4lvko3yjkj3uuvzxsughb1yq

4.2 查詢餘額
$ ./mybtc getbalance -address 1dhpnhkfk9uudog2f2xbvx9dq4nxpf5q4q
返回結果

1dhpnhkfk9uudog2f2xbvx9dq4nxpf5q4q,餘額是:12
分析

1.建立創世區塊,該位址獲得10元

2.第一筆轉賬,給位址1htjve4mww4lvko3yjkj3uuvzxsughb1yq轉賬2元, 剩餘8元,得到10元獎勵,餘額為18元

3.第二筆轉賬,給位址1htjve4mww4lvko3yjkj3uuvzxsughb1yq轉賬3元, 剩餘15元,得到10元獎勵,餘額為25元

4.第三筆轉賬,給位址1htjve4mww4lvko3yjkj3uuvzxsughb1yq轉賬23元,剩餘2元,得到10元獎勵,餘額為12元

10元獎勵是**中設定每個區塊的coinbase交易給轉賬使用者的,實際位元幣場景是給礦工的,這裡是測試場景,請大家勿要混淆。

./mybtc getbalance -address 1htjve4mww4lvko3yjkj3uuvzxsughb1yq
返回結果

1htjve4mww4lvko3yjkj3uuvzxsughb1yq,餘額是:28
分析

2 + 3 + 23 = 28元
到此,我們查詢餘額的功能基本完畢。

從0到1安裝開發環境

瀏覽器 chrome 版本控制 git 命令列 mac iterm2 windows cmder restful 客戶端 insomnia webpack是一款模組載入器兼打包工具,它能把各種資源,例如js 含jsx coffee 樣式 含less sass 等都作為模組來使用和處理 npm ins...

從0到1搭建React Native開發環境

rn開發之前要配置一系列的開發環境,這裡剛配置好,這裡做乙個總結記錄,希望對大家有幫助。1.nvm是什麼呢?全稱node version manage。看到全稱應該知道了吧,其實nvm就是用來管理nodejs的乙個管理器,他可以安裝多個版本的nodejs和npm版本。nodejs是什麼?nodejs...

從0到1學習node之簡易的網路爬蟲

我們這節的目標是學習完本節課程後,能進行網頁簡單的分析與抓取,對抓取到的資訊進行輸出和文字儲存。爬蟲的思路很簡單 確定要抓取的url 對url進行抓取,獲取網頁內容 對內容進行分析並儲存 重複第1步 總索引 從0到1學習node 一 之模組規範 從0到1學習node 二 之搭建http伺服器 從0到...