Flutter域名解析插件ens_lookup的使用
Flutter域名解析插件ens_lookup的使用
简介
EnsLookup 是一个简单的插件,用于解析ENS(Ethereum Name Service)域名并获取以太坊地址。只需简单调用 ensService.resolveName('my.eth')
即可。
该插件受到 ethers.js 的启发,具体实现可以参考 这里。更多关于ENS域名的信息可以参考 官方文档。这是一个早期开发阶段的项目,欢迎提出反馈或贡献代码。
使用方法
以下是一个完整的示例代码,展示了如何使用 ens_lookup 插件来解析ENS域名:
import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
import 'package:web3dart/web3dart.dart';
import 'package:ens_lookup/ens_lookup.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text("ENS解析示例"),
),
body: Center(
child: ElevatedButton(
onPressed: () async {
// 创建HttpClient实例,并添加中间件
final client = http.Client();
// 创建Web3Client实例
final web3Client = Web3Client(
'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161',
client,
);
// 创建Ens实例
final ensService = Ens.create(web3Client);
// 解析ENS域名
final address = await ensService.resolveName('ricmoo.firefly.eth');
// 打印结果
print('解析结果: $address');
},
child: Text("解析ENS域名"),
),
),
),
);
}
}
代码解释
-
导入必要的库:
import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; import 'package:web3dart/web3dart.dart'; import 'package:ens_lookup/ens_lookup.dart';
-
创建应用主入口:
void main() { runApp(MyApp()); }
-
定义应用界面:
class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("ENS解析示例"), ), body: Center( child: ElevatedButton( onPressed: () async { // 创建HttpClient实例,并添加中间件 final client = http.Client(); // 创建Web3Client实例 final web3Client = Web3Client( 'https://mainnet.infura.io/v3/9aa3d95b3bc440fa88ea12eaa4456161', client, ); // 创建Ens实例 final ensService = Ens.create(web3Client); // 解析ENS域名 final address = await ensService.resolveName('ricmoo.firefly.eth'); // 打印结果 print('解析结果: $address'); }, child: Text("解析ENS域名"), ), ), ), ); } }
更多关于Flutter域名解析插件ens_lookup的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复