从零搭建区块链工具,含私钥破解、聪明地址监控、交易策略优化等
我这里使用的是C#,昨天心血来潮写的一个小工具。
技术架构这边用的是Nethereum包 然后节点集群用的是Infura.io
注册就有一个apikey,有调用次数限制,但是日常的开发测试肯定是足够了。
<!--StartFragment-->
一.申请Infura.io账户,并获得APIKEY
<!--EndFragment-->
<!--StartFragment-->
二.绘制UI
<!--EndFragment-->
<!--StartFragment-->
我的UI长这个样,自己灵机一动设计的,有点子不好看,但是我主要是专注于功能,UI的话,后期再去优化吧。
<!--EndFragment-->
<!--StartFragment-->
三.代码实现
1.连接Infura集群,用于获取以太坊链上数据
/// <summary>
/// 实例化web3对象
/// </summary>
/// <returns></returns>
private static Web3 CreateWeb3()
{
// 以太坊节点的RPC URL,使用Infura.io的URL
string rpcUrl = "https://mainnet.infura.io/v3/你申请的projectid";
Uri u = new Uri(rpcUrl);
Web3 web3 = new Web3(new RpcClient(u));
return web3;
}
这里把v3/后面的ID替换成你申请的ID就好了。
<!--StartFragment-->
2.安装Nethereum包
我这边用到的包是这些
<!--EndFragment-->
<!--StartFragment-->
3. 根据RPC地址查询指定地址
<!--EndFragment-->
/// <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();
// 将余额转换为Ether
decimal etherBalance = tunit.FromWei(balance.Result.Value);
this.balance.Text = etherBalance + "ETH";
}
<!--StartFragment-->
这样就能查询出地址余额。
<!--EndFragment-->
<!--StartFragment-->
更多功能后续更新,关注后一起来跟我学习从零搭建区块链工具系统!
<!--EndFragment-->
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。