flutter创建/导入区块链钱包,获取余额

这篇具有很好参考价值的文章主要介绍了flutter创建/导入区块链钱包,获取余额。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

flutter创建/导入区块链钱包,获取余额

作为区块链行业小白刚接触区块链钱包几天,来开发钱包还是需要付出很多努力的.下面记录一下flutter框架下创建/导入区块链钱包,并获取余额

一、创建钱包:

钱包的创建分为三个步骤:

1、生成助记词

(1)、创建助记词: 需要用到bip39插件

bip39: ^1.0.6

(2)、创建方式:


// 获取助记词、
  static String generateMnemonic() {
    String randomMnemonic = bip39.generateMnemonic();
     return randomMnemonic;
  }

2、助记词生成私钥

(1)、生成私钥需要用到插件bip32

bip32: ^2.0.0

(2)、生成方式:

// 助记词转私钥Private Key
static String getPrivateKey(String mnemonic) {
   final seed = bip39.mnemonicToSeed(mnemonic);
    final root = bip32.BIP32.fromSeed(seed);
    final child1 = root.derivePath("m/44'/60'/0'/0/0");
  return bytesToHex(child1.privateKey!.toList());
  }

3、私钥生成钱包地址: 生成地址后钱包就创建完成了

(1)、生成方式:

static Future<EthereumAddress> getPublicAddress(String privateKey) async {
    final private = EthPrivateKey.fromHex(privateKey);
    final address = await private.extractAddress();
    return address;
 }

二、导入钱包

导入钱包很简单、只需要略过生成助记词步骤直接执行一.2和一.3就够可以了

三、查看钱包余额

查看钱包余额是一个链接网络进行请求的过程需要用到插件:web3dart

web3dart: ^2.3.5

集体操作:

/// 获取指定钱包的余额,这里获取的是ETH的余额
  static Future<String> getBalance(String address) async {
    String rpcUrl = Global.getBaseUrl();
    final client = Web3Client(rpcUrl, Client());
    try {
      EtherAmount balance =
          await client.getBalance(EthereumAddress.fromHex(address));
      double b = balance.getValueInUnit(EtherUnit.ether);
      return b.toStringAsFixed(12);
    } catch (e) {
      return "";
    }
  }

参数说明:

address: 0xc9e90f88932827c32065a5e0ddbf077e01cfa1ac//钱包地址、欢迎给我打测试币

rpcUrl: 用到的是以太坊测试网络goerli.infura.io用于测试

https://goerli.infura.io/v3/37caa7b8b2c34ced8819de2b3853c8a2

水龙头领测试币0.5goerli

水龙头地址一:

https://dashboard.alchemy.com/explorer?time_min=1676076893400&time_range_preset=last5Minutes

水龙头地址二(官方):

https://goerli-faucet.mudit.blog

钱包余额展示:

flutter创建/导入区块链钱包,获取余额文章来源地址https://www.toymoban.com/news/detail-455788.html

到了这里,关于flutter创建/导入区块链钱包,获取余额的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Golang区块链钱包_go语言钱包

    Golang区块链钱包的特点 Golang区块链钱包具有以下几个特点: 1. 高性能 Golang是一种编译型语言,具有快速的执行速度和较低的内存消耗。这使得Golang区块链钱包在处理大规模交易数据时表现出色,能够满足高性能的需求。 2. 并发支持 Golang内置了轻量级线程——goroutine,以及

    2024年04月15日
    浏览(62)
  • 使用 Solidity 创建返回所有者地址和余额的智能合约

    问题: 创建一个名为 MyContract 的智能合约,拥有一个状态变量作为所有者。创建一个构造函数以从 msg 中获取所有者的地址并将其保存到状态变量 owner 中。另外,创建一个函数 getBalance() 来显示所有者的当前余额。   解决方案: 每个智能合约都由一个称为所有者的地址拥有

    2024年02月05日
    浏览(87)
  • 【区块链】虚拟货币钱包

    目前区块链中虚拟货币的钱包种类和应用多样,按照私钥存储方式的不同,可以将钱包分为『 热钱包 』和『 冷钱包 』两大类型。 热钱包又称在线钱包,是指互联网能够访问用户私钥的钱包,一般通过电脑(交易平台)或者手机 APP 进行操作。 『 热钱包 』 优点 实用性高(

    2024年02月16日
    浏览(51)
  • 区块链钱包-android篇

    ​ 1:使用Protocol Buffers  首先根目录gradle中添加依赖: classpath \\\"com.google.protobuf:protobuf-gradle-plugin:0.8.3\\\" 然后项目文件中添加plugin,添加依赖包: apply plugin: \\\'com.google.protobuf\\\' protobuf { protoc { artifact = \\\'com.google.protobuf:protoc:3.6.1\\\' } plugins { javalite { artifact = \\\"com.google.protobuf:protoc-gen-jav

    2024年03月09日
    浏览(52)
  • 区块链钱包安全汇总

    一:钱包发生过那些安全事件? 1、“私钥丢失” 部分用户使用钱包时,会习惯性将私钥截图保存在手机,但当手机出现了丢失或者损坏,助记词可能永远无法复原;部分用户有一定安全意识,会将助记词手写一份,但当该份助记词丢失时,助记词也可能无法复原。 2、“伪装

    2024年01月18日
    浏览(39)
  • Golang区块链钱包

    随着区块链技术的发展,数字货币的应用逐渐普及。而区块链钱包作为数字货币的一种必备工具,也变得越来越重要。Golang作为一种简单、高效的编程语言,被广泛运用于区块链领域。本文将介绍Golang区块链钱包的基本概念、特点和使用方法,帮助读者了解和使用这一工具。

    2024年02月04日
    浏览(43)
  • 区块链钱包开发(Android篇)

    On-chain 给一个钱包地址发送数字货币, 这笔交易在全网广播、被确认、被打包进区块。这是发生在链上的,被称为on-chain交易。on-chain钱包需要自己保管私钥。 Off-chain 相对于on-chain交易是off-chain交易。通常,通过交易所进行的交易是off-chain的,本人并没有私钥。私钥在交易所,

    2024年04月26日
    浏览(42)
  • 区块链钱包分类及BIP协议

    上一次我们介绍了区块链的背景,区块链、以太坊、智能合约到底是什么,但我们并不止步于此,为了实现最终的目标:“完成区块链钱包的设计并顺利毕业”,我们还要来了解一下有关钱包的相关理论。 钱包其实就是一个用来管理私钥的工具,用来存储数字资产。我再直白

    2024年02月09日
    浏览(38)
  • 区块链钱包软件开发python

    开发区块链钱包需要涉及到很多方面,包括前端、后端和加密算法等。以下是一个简单的示例代码,展示了如何使用Python开发一个简单的区块链钱包。 ```python import hashlib import binascii import random class Block:     def __init__(self, index, timestamp, data, previous_hash):         self.index = ind

    2024年03月24日
    浏览(41)
  • 交易的流动——从钱包到区块链网络

    是否经常会好奇我在钱包上生成的交易是如何一步步流入区块链网络,并最终成为区块的一部分呢? 要想弄清这个问题,首先要搞清楚钱包的工作原理,以主流钱包MetaMask为例,在我们添加一个新的网络时,会需要填写以下信息。MetaMask在会为预置的网络填好这些信息,使用

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包