最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用React Native創(chuàng)建以太坊錢包實現(xiàn)轉賬等功能

 更新時間:2019年07月26日 16:39:16   作者:EAST東_059c  
這篇文章主要介紹了使用React Native創(chuàng)建以太坊錢包,實現(xiàn)轉賬等功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

之前想用React Native開發(fā)一版以太坊錢包app,但在生成賬戶那塊遇見了問題,沒有crypto等nodejs包,react native是運行在JavaScriptCore環(huán)境里面,是沒有buffer, crypto 跟 stream這些庫的,所以為了解決,就跟同事開發(fā)了基于golang的web3go,然后使用gomoble工具編譯成ios需要的framework以及android需要的jar aar,完美解決問題

演示

 

dapp-demo-1.jpg

dapp-demo-2.jpg

安裝web3go

git clone https://github.com/bcl-chain/web3.go.git

使用gomobile編譯成framework,jar,aar

// generate frameworkgomobile bind -target=ios 
./github.com/bcl-chain/web3
.go/mobile// generate arr jargomobile bind -target=android
 ./github.com/bcl-chain/web3.go/mobile

把生成的包link到原生app里面

link-web3go.jpg

andoir-getbalence.jpg

下載ETH本地測試工具ganache-cli

gan-cli.jpg

安裝依賴

yarn
react-native run-android
react-native run-ios

getBalance代碼分析

// IOS
RCT_EXPORT_METHOD(getBalance:
         (NSString*) address:
         (RCTPromiseResolveBlock)resolve
         rejecter:(RCTPromiseRejectBlock)reject){
 // ip地址
 Web3goEthereumClient* client = Web3goNewEthereumClient(nodeIP, nil);
 Web3goContext* ctx = Web3goNewContext();
 // 賬戶地址
 Web3goAddress* address1 = Web3goNewAddressFromHex(address, nil);
 @try {
  Web3goBigInt* a = [client getBalanceAt:ctx account:address1 number:-1 error:nil];
  NSString* ammount = [a getString:10];
  NSLog(@"%@", ammount);
  resolve(ammount);
 } @catch (NSError *exception) {
  NSLog(@"NSError: %@", exception);
  reject(@"NSError: %@", @"There were no events", exception);
 } @finally {
  NSLog(@"finally");
 }
 
}

// android
@ReactMethod
public void getBalance(String address, Promise promise) {
  try {
   web3go.EthereumClient client = Web3go.newEthereumClient(nodeIP);
   web3go.Context ctx = Web3go.newContext();
   web3go.Address address1 = Web3go.newAddressFromHex(address);
   web3go.BigInt a = client.getBalanceAt(ctx, address1, -1);
   String ammout = a.getString(10);
   promise.resolve(ammout);
  } catch (Exception e) {
   promise.reject(e.getMessage());
  }
}

// react-native
async getBalance() {
  try {
   var ammount = await NativeModules.Web3go.getBalance(this.state.defGaAddress);
   this.setState({
    gaAmmount: ammount
   })
  } catch (e) {
   console.error(e);
  }
}

如果有用,給個start

web3go

React-Native-Dapp

總結

以上所述是小編給大家介紹的使用React Native創(chuàng)建以太坊錢包實現(xiàn)轉賬等功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • webpack構建react多頁面應用詳解

    webpack構建react多頁面應用詳解

    這篇文章主要介紹了webpack構建react多頁面應用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • react動態(tài)路由的實現(xiàn)示例

    react動態(tài)路由的實現(xiàn)示例

    React中動態(tài)路由通過ReactRouter庫實現(xiàn),根據(jù)應用狀態(tài)或用戶交互動態(tài)顯示或隱藏組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-11-11
  • 詳解webpack2+React 實例demo

    詳解webpack2+React 實例demo

    本篇文章主要介紹了詳解webpack2+React 實例demo,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • 詳解react hooks組件間的傳值方式(使用ts)

    詳解react hooks組件間的傳值方式(使用ts)

    本文主要介紹了react hooks組件間的傳值方式(使用ts),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 一起來學習React元素的創(chuàng)建和渲染

    一起來學習React元素的創(chuàng)建和渲染

    這篇文章主要為大家詳細介紹了React元素的創(chuàng)建和渲染,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 在react-antd中彈出層form內容傳遞給父組件的操作

    在react-antd中彈出層form內容傳遞給父組件的操作

    這篇文章主要介紹了在react-antd中彈出層form內容傳遞給父組件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • React 實現(xiàn)表單組件的示例代碼

    React 實現(xiàn)表單組件的示例代碼

    本文主要介紹了React 實現(xiàn)表單組件的示例代碼,支持包括輸入狀態(tài)管理,表單驗證,錯誤信息展示,表單提交,動態(tài)表單元素等功能,具有一定的參考價值,感興趣的可以了解一下
    2024-07-07
  • 解決React報錯Property value does not exist on type HTMLElement

    解決React報錯Property value does not exist&n

    這篇文章主要為大家介紹了React報錯Property value does not exist on type HTMLElement解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • React中immutable的UI組件渲染性能詳解

    React中immutable的UI組件渲染性能詳解

    這篇文章主要為大家介紹了React中immutable的UI組件渲染性能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • React Agent 自定義實現(xiàn)代碼

    React Agent 自定義實現(xiàn)代碼

    在使用langchain的ReactAgent遇到問題后,作者嘗試自定義ReactAgent實現(xiàn),通過詳細分析langchain中的agent功能和問題,結合React思想,作者設計了新的agent邏輯并在GitHub上分享了代碼,新的ReactAgent通過改進prompt和工具調用邏輯,提升了任務執(zhí)行的效果和穩(wěn)定性
    2024-10-10

最新評論

仙游县| 巩义市| 沈丘县| 淳化县| 新津县| 青浦区| 吉木萨尔县| 荆门市| 龙泉市| 蓬溪县| 东阳市| 盐亭县| 清镇市| 峨边| 普定县| 财经| 福鼎市| 庐江县| 纳雍县| 兴业县| 民权县| 泽州县| 宣化县| 高青县| 边坝县| 麻江县| 明星| 衡山县| 广南县| 滦平县| 庄浪县| 万宁市| 聂拉木县| 德州市| 龙游县| 扎赉特旗| 宜丰县| 巨鹿县| 合山市| 蛟河市| 阿克|