我这里使用的是C#,昨天心血来潮写的一个小工具。
技术架构这边用的是Nethereum包
然后节点集群用的是Infura.io,注册就有一个apikey,有调用次数限制,但是日常的开发测试肯定是足够了。
一.申请Infura.io账户,并获得APIKEY
二.绘制UI
我的UI长这个样,自己灵机一动设计的,有点子不好看,但是我主要是专注于功能,UI的话,后期再去优化吧。
三.代码实现
1.连接Infura集群,用于获取以太坊链上数据
/// <summary>/// 实例化web3对象/// </summary>/// <returns></returns>private static Web3 CreateWeb3() {// 以太坊节点的RPC URL,使用Infura.io的URLstring rpcUrl = "https://mainnet.infura.io/v3/你申请的projectid";Uri u = new Uri(rpcUrl);Web3 web3 = new Web3(new RpcClient(u));return web3;}
这里把v3/后面的ID替换成你申请的ID就好了。
2.安装Nethereum包
我这边用到的包是这些
3. 根据RPC地址查询指定地址
/// <summary>/// 根据RPC地址查询指定地址/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void btn_cx_Click(object sender, EventArgs e){Web3 web3 = CreateWeb3();string address_str = "";if (this.adress.Text == ""){MessageBox.Show("请输入以太坊地址");}else {address_str = this.adress.Text;}// 要查询的账户地址string accountAddress = address_str;// 查询账户余额var balance = web3.Eth.GetBalance.SendRequestAsync(accountAddress);UnitConversion tunit = new UnitConversion();// 将余额转换为Etherdecimal etherBalance = tunit.FromWei(balance.Result.Value);this.balance.Text = etherBalance + "ETH";}
这样就能查询出地址余额。
更多功能后续更新,关注后一起来跟我学习从零搭建区块链工具系统!