从零搭建区块链工具(一),小白也能学会

我这里使用的是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的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就好了。

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();

            // 将余额转换为Ether
            decimal etherBalance = tunit.FromWei(balance.Result.Value);

            this.balance.Text = etherBalance + "ETH";
        }

这样就能查询出地址余额。

更多功能后续更新,关注后一起来跟我学习从零搭建区块链工具系统!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加密社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值