iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0

今天來聊聊Elrond的SDK(Software Development Kit)

現在很多的公鏈都會提供SDK來讓大家可以快速的串接,通常一定會支援該公鏈所開發的語言的SDK,再來會是JavaScript的SDK,這邊稍微整理一下一些公鏈所提供的SDK支援的語言。


我們這次使用的SDK是erdgo - Golang SDK,主要是自己沒什麼在寫Golang,趁這個時候當作是一次練習,首先來看看這個SDK提供了什麼函式。
https://ithelp.ithome.com.tw/upload/images/20220927/20140358O2M2vCtw74.png

  • GenerateNewMnemonic(): 產生24個字的註記詞
  • GetAddressFromPrivateKey(): 從私鑰建立bech32的Address
  • GetPrivateKeyFromMnemonic(): 從註記詞取得私鑰
  • LoadPrivateKeyFromJsonFile(): 從Json file載入私鑰
  • LoadPrivateKeyFromPemFile(): 從Pem file載入私鑰
  • SavePrivateKeyToJsonFile(): 保存私鑰到Json file
  • SavePrivateKeyToPemFile(): 保存私鑰到Pem file
  • SignTransaction(): 簽署交易,也就是根據交易內容使用私鑰簽署產生signature
  • SignTransactionHash(): 第二版本的簽署交易,是將交易內容hash後簽署產生signature

根據上面的SDK函式我們已經可以建構一個錢包的流程了,

  • 尚未有錢包用戶
    1. GenerateNewMnemonic 產生錢包註記詞
    2. 可選擇SavePrivateKeyToJsonFile/SavePrivateKeyToPemFile 保存錢包私鑰
    3. GetAddressFromPrivateKey 建立錢包Address
    4. 呼叫之前介紹的rest-api查詢Address餘額
    5. 透過介面或是呼叫API建立交易,然後透過SignTransaction/SignTransactionHash 簽署交易
    6. 交易上鏈
    7. 呼叫之前介紹的rest-api查詢Address餘額(更新餘額)
  • 已有錢包用戶
    1. 用戶輸入註記詞使用GetPrivateKeyFromMnemonic取得私鑰
    2. 可選擇SavePrivateKeyToJsonFile/SavePrivateKeyToPemFile 保存錢包私鑰
    3. GetAddressFromPrivateKey 建立錢包Address
    4. 呼叫之前介紹的rest-api查詢Address餘額
    5. 透過介面或是呼叫API建立交易,然後透過SignTransaction/SignTransactionHash 簽署交易
    6. 交易上鏈
    7. 呼叫之前介紹的rest-api查詢Address餘額(更新餘額)

基本上一個簡單的錢包大概就是這樣,先來實作這樣的內容,之後還可以去做加強改進的,像是監聽鏈上block的Transaction是否有自己錢包的地址,有的話要去更新餘額之類的。


上一篇
[Day 12] Elrond full node (三)
下一篇
[Day 14] Elrond full node (五)
系列文
如何打造屬於自己的區塊鏈錢包服務31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言