如何給區塊鏈寫SDK

區塊鏈開發完畢,需要通過SDK給其他開發者予以調用,所以SDK是降低區塊鏈使用門檻必要的手段。

 

 

開發SDK的技術邏輯就是,通過離線構造包括簽名在內的多種區塊鏈交易,然後通過網絡服務將交易數據發送到區塊鏈節點,區塊鏈節點監聽交易並執行符合規則交易。

 

 

就以我開發的JS SDK爲例,我在開發中實現以下功能:

 

1.離線錢包功能

 

1.1 實現錢包賬戶生成,包括助記詞生成,公私鑰生成,公鑰轉地址,keystore文件生成。

 

1.2 賬戶交易簽名和驗證,構造交易,對交易進行離線簽名和驗證。

 

1.3 賬戶轉賬,在不同賬戶之間形成資產轉移。

 

2.共識功能

 

2.1 資源抵押和解凍

 

2.2 設置代表和投票

 

2.3 獲得最新的代表和候選代表

 

3.合約功能

 

3.1 合約上鍊,實例化,調用,停用。

 

3.2 相關合約模版搜索,實現個性化合約定製

 

4.區塊鏈管理功能

 

4.1 查詢最新交易,最新高度,最新代表

 

4.2 獲得交易,區塊,當前節點,連接節點

 

4.3 當前區塊鏈網絡

 

5.特殊功能調用

 

5.1區塊鏈特殊合約,譬如USDT合約安全調用

 

5.2 基本配置,例如Baas服務配置,節點配置等用於初始化連接區塊鏈服務。

 

 

其他語言SDK都類似,開發的難點其實不在邏輯,而在於對語言的掌握,如何用不同的語言,調用相同功能,實現一致效果。例如最基本的secp256k1曲線加密算法,Go SDK我依賴比特幣的Go版本,同時在地址生成加上了一些自己的設計,而在nodejs中,我使用eccrypto橢圓曲線加密庫,這個就比較基礎,需要專門進行修改,以符合比特幣中的規定。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章