内容简介:Flutter是采用Dart语言的跨平台应用开发框架,目前已经 支持ios、安卓和web等多个平台。本文将介绍如何在Flutter应用中 生成以太坊地址,如果你要开发一个手机钱包,或者要对接以太坊 区块链,相信这篇文章会对你所帮助。作为一个新的框架,适合Flutter的以太坊开发包并没有太多选择,web3dart的安装方法很简单,首先在项目的pubspec.yaml中添加web3dart依赖项。例如:
Flutter是采用Dart语言的跨平台应用开发框架,目前已经 支持ios、安卓和web等多个平台。本文将介绍如何在Flutter应用中 生成以太坊地址,如果你要开发一个手机钱包,或者要对接以太坊 区块链,相信这篇文章会对你所帮助。
1、web3dart简介
作为一个新的框架,适合Flutter的以太坊开发包并没有太多选择, web3dart 算是相对完善一些的Dart实现, 它包含了JSON RPC封装、离线签名、ABI编解码等重要的特性,其目标是提供dart 版的web3.js,能够适应绝大多数Flutter应用对接以太坊区块链的需求。
web3dart的安装方法很简单,首先在项目的pubspec.yaml中添加web3dart依赖项。例如:
name: hubwiz_tutorial dependencies: web3dart: git: git://github.com/simolus3/web3dart.git
然后执行如下命令更新项目依赖:
~/hubwiz_tutorial$ pub get
如果希望快速掌握Flutter / Dart应用对接以太坊区块链的方法,推荐 汇智网的在线互动教程:
2、示例代码:用web3dart生成以太坊地址
生成以太坊地址是绝大多数希望支持以太坊区块链的Flutter应用所需要的功能特性。 web3dart开发包使得这一过程相当简单明了:web3dart的crypto库提供了三个API函数, 分别用于生成私钥、从私钥推导出公钥、以及从公钥推导出以太坊地址:
首先我们引入必要的库:
import 'dart:math'; // Random import 'dart:typed_data'; // Uint8List import 'package:web3dart/crypto.dart';
STEP 1# 创建随机私钥
为此我们需要利用 math
库中的安全随机数发生器,然后调用crypto库中的 generateNewPrivateKey()
生成一个随机私钥:
Random rng = Random.secure(); //安全随机数发生器 BigInt privKey = generateNewPrivateKey(rng); //生成新的私钥
STEP 2# 从私钥推导出公钥
直接调用crypto库中 privateKeyToPublic()
函数,即可从指定的私钥推导出公钥:
Uint8List pubKey = privateKeyToPublic(privKey); //从私钥推导出公钥 print('public Key => ${bytesToHex(pubKey)}'); //显示其16进制字符串表示
bytesToHex()
是crypto库提供的一个辅助API,用于将字节数组(Uint8List)转换为 16进制表示的字符串。
STEP 3# 从公钥推导出地址
直接调用crypto库中 publicKeyToAddress()
方法,从指定的公钥码流推导出地址码流:
Uint8List address = publicKeyToAddress(pubKey); //从公钥推导出地址 String addressHex = bytesToHex( address, //地址字节数组 include0x:true, //包含0x前缀 forcePadLength:40 //补齐到40字节 ); print('address => ${addressHex}'); //显示地址
汇智网原创,转载请标明出处
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- bitcoin地址是如何生成的
- Java离线生成比特币地址
- 从零开始学习比特币开发:生成地址
- Laravel 生成 Gravatar 头像地址的优雅姿势
- 使用PHP从扩展公钥生成比特币钱包地址
- 学习 btc 钱包私钥、公钥和地址的生成过程
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
UML基础、案例与应用
施穆勒 / 李虎、赵龙刚 / 人民邮电出版社 / 2004-7-1 / 42.00元
本书教读者循序渐进地、系统地学习UML基础知识和应用技术。和前一版相比,本书内容根据UML 2.0进行了补充和更新,随书光盘包含了建模工具Poseidon的试用版。 全书分为三部分24章。第一部分“基础知识”包括第1章到第15章,主要是介绍UML语言的基础知识以及面向对象的概念和思想,还简单介绍了UML在开发过程的应用方法。第二部分“学习案例”包括第16章到第22章,结合实例详细分析了UML的应用......一起来看看 《UML基础、案例与应用》 这本书的介绍吧!
HTML 压缩/解压工具
在线压缩/解压 HTML 代码
正则表达式在线测试
正则表达式在线测试