Bytom 移動端錢包 SDK 開發基礎

2021-09-13 09:38:01 字數 2490 閱讀 6236

比原專案倉庫:

bytom-mobile-wallet-sdk 是從bytom原始碼中抽離出的錢包層**,並且對錢包層**進行了改造。使用gomobile可以將** 編譯成android和ios平台可用的sdk,使用編譯後的android和ios錢包sdk可以在移動端實現建立bytom金鑰、賬戶、位址和交易簽名功能。

sdk原始碼放在專案的sdk資料夾中,android和ios資料夾是使用sdk的demo專案,bind.go 中首字母大寫可以外部呼叫的函式會作為提供給android和ios呼叫的api。bytom建立的金鑰對會儲存在磁碟單獨的檔案中,而且對私鑰進行了加密,賬戶位址資料是儲存在go實現的leveldb中,所以android和ios平台也需要提供資料儲存的路徑。

func initwallet(storagepath string) 

}

android和ios平台呼叫其他錢包api的之前需要先呼叫initwallet這個api,引數是磁碟上的絕對路徑,initwallet會對整個錢包進行乙個初始化, 其中最重要是初始化leveldb的儲存。其他的createkey、createaccount、createaccountreceiver是建立金鑰、賬戶、位址等api,restorewallet api能夠對錢包所有賬戶位址資產進行備份匯出json格式的資料。

sdk**的編譯首先需要正確的安裝golang和gomobile,golang需要1.7以上版本。

android平台需要安裝jdk、android sdk、android ndk,並且需要將android sdk的platform-tools、ndk-bundle 新增到path系統環境變數中。ios平台編譯環境配置相對比較簡單只需要安裝xcode就可以了。

clone專案到本地$gopath/src下:

gomobile bind -target=android github.com/bytom-community/mobile/sdk/如果需要減小sdk的體積給gomobile bind指令加上-ldflags=-s引數:

gomobile bind -target=android -ldflags=-s github.com/bytom-community/mobile/sdk/
執行指令後會在mobile資料夾生成wallet.aar和wallet-sources.jar檔案。

gomobile bind -target=ios github.com/bytom-community/mobile/sdk/如果需要減小sdk的體積給gomobile bind指令加上-ldflags=-w引數:

$ gomobile bind -target=ios -ldflags=-w github.com/bytom-community/mobile/sdk/
執行指令後會在mobile資料夾生成wallet.framework檔案。

由於gomobile現在沒有支援bitcode,所以生成的ios sdk也不支援bitcode。

android 

}}dependencies

sync project後可以在android專案中對sdk的api進行呼叫:

package io.bytom.community;

import android.os.bundle;

import android.util.log;

import android.widget.textview;

import wallet.wallet;

public class mainactivity extends activity

}

通過專案target的linked frameworks and libraries把wallet.framework新增到專案,可以在ios專案中對sdk的api進行呼叫:

#import "viewcontroller.h"

#import "wallet/wallet.h" // gomobile bind generated framework

@inte***ce viewcontroller ()

@end

@implementation viewcontroller

@synthesize textlabel;

- (void)loadview

@end

Bytom移動端錢包SDK開發基礎

比原專案倉庫 bytom mobile wallet sdk 是從bytom原始碼中抽離出的錢包層 並且對錢包層 進行了改造。使用gomobile可以將 編譯成android和ios平台可用的sdk,使用編譯後的android和ios錢包sdk可以在移動端實現建立bytom金鑰 賬戶 位址和交易簽名...

Bytom移動端錢包SDK開發基礎

比原專案倉庫 bytom mobile wallet sdk 是從bytom原始碼中抽離出的錢包層 並且對錢包層 進行了改造。使用gomobile可以將 編譯成android和ios平台可用的sdk,使用編譯後的android和ios錢包sdk可以在移動端實現建立bytom金鑰 賬戶 位址和交易簽名...

移動端證件識別SDK

應用背景 隨著智慧型終端 智慧型手機及平板電腦 及移動通訊 4g 的發展,原來執行在pc上的資訊系統 如郵件系統 即時通訊 網頁瀏覽 協同辦公 網路購物 社交 部落格等 逐漸轉移到智慧型終端裝置上。可以預見未來幾年60 以上的業務將會逐漸轉移到智慧型終端系統上來。在這種背景下,北京文通公司推出基於a...