真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么用web3dart為flutter應(yīng)用生成以太坊地址

本篇內(nèi)容介紹了“怎么用web3dart為flutter應(yīng)用生成以太坊地址”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站建設(shè)、網(wǎng)站制作與策劃設(shè)計,庫車網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:庫車等地區(qū)。庫車做網(wǎng)站價格咨詢:028-86922220

1、web3dart簡介

作為一個新的框架,適合Flutter的以太坊開發(fā)包并沒有太多選擇,web3dart算是相對完善一些的Dart實現(xiàn),它包含了JSON RPC封裝、離線簽名、ABI編解碼等重要的特性,其目標(biāo)是提供dart版的web3.js,能夠適應(yīng)絕大多數(shù)Flutter應(yīng)用對接以太坊區(qū)塊鏈的需求。

web3dart的安裝方法很簡單,首先在項目的pubspec.yaml中添加web3dart依賴項。例如:

name: hubwiz_tutorial
dependencies:
  web3dart: 
    git: git://github.com/simolus3/web3dart.git

然后執(zhí)行如下命令更新項目依賴:

~/hubwiz_tutorial$ pub get

如果希望快速掌握Flutter / Dart應(yīng)用對接以太坊區(qū)塊鏈的方法,推薦 匯智網(wǎng)的在線互動教程:

  • Flutter以太坊開發(fā)詳解

2、示例代碼:用web3dart生成以太坊地址

生成以太坊地址是絕大多數(shù)希望支持以太坊區(qū)塊鏈的Flutter應(yīng)用所需要的功能特性。 web3dart開發(fā)包使得這一過程相當(dāng)簡單明了:web3dart的crypto庫提供了三個API函數(shù), 分別用于生成私鑰、從私鑰推導(dǎo)出公鑰、以及從公鑰推導(dǎo)出以太坊地址:

怎么用web3dart為flutter應(yīng)用生成以太坊地址

首先我們引入必要的庫:

import 'dart:math';                                     // Random
import 'dart:typed_data';                               // Uint8List     
import 'package:web3dart/crypto.dart';

STEP 1# 創(chuàng)建隨機私鑰

為此我們需要利用math庫中的安全隨機數(shù)發(fā)生器,然后調(diào)用crypto庫中的generateNewPrivateKey()生成一個隨機私鑰:

Random rng = Random.secure();                            //安全隨機數(shù)發(fā)生器
BigInt privKey = generateNewPrivateKey(rng);             //生成新的私鑰

STEP 2# 從私鑰推導(dǎo)出公鑰

直接調(diào)用crypto庫中privateKeyToPublic()函數(shù),即可從指定的私鑰推導(dǎo)出公鑰:

Uint8List pubKey = privateKeyToPublic(privKey);          //從私鑰推導(dǎo)出公鑰      
print('public Key => ${bytesToHex(pubKey)}');            //顯示其16進制字符串表示

bytesToHex()是crypto庫提供的一個輔助API,用于將字節(jié)數(shù)組(Uint8List)轉(zhuǎn)換為16進制表示的字符串。

STEP 3# 從公鑰推導(dǎo)出地址

直接調(diào)用crypto庫中publicKeyToAddress()方法,從指定的公鑰碼流推導(dǎo)出地址碼流:

Uint8List address = publicKeyToAddress(pubKey);          //從公鑰推導(dǎo)出地址
String addressHex = bytesToHex(
                      address,                           //地址字節(jié)數(shù)組
                      include0x:true,                    //包含0x前綴
                      forcePadLength:40                  //補齊到40字節(jié)
                    );
print('address => ${addressHex}');                       //顯示地址

“怎么用web3dart為flutter應(yīng)用生成以太坊地址”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!


當(dāng)前題目:怎么用web3dart為flutter應(yīng)用生成以太坊地址
新聞來源:http://weahome.cn/article/geiojj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部