如何ETH以太坊智能合约做一个简单的DAPP

目标:

1、使用etherjs

2、链接MetaMask钱包

3、查询链状态、账号状态、转账、调用合同读函数、调用合同写函数

环境:

1、kovan以太坊测试链上发布合约。合约地址:0xB6b0ab2e6205212FD2A4017bD0A4710b11EA55eb

2、nodejs   lite-server web服务器测试。

3、安装Google chrome metamask钱包

智能合约代码:InfoContract.sol

// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;

contract InfoContract {
    
    string public fName = "azq";
    uint public age= 47;
    
    function setInfo(string memory _fName,uint _age) public returns(bool){
        
        fName = _fName;
        age = _age;
        return true;
    }
    
    function getInfo() public view returns(string memory,uint){
        return(fName,age);
    }
}

代码实例:index.html

<!DOCTYPE html>
<html>
    <head>
        <script src="/myscript.js"></script>
    </head>
    <script src="https://cdn.ethers.io/lib/ethers-5.2.umd.min.js"
        type="text/javascript">
    </script>
    <!-- <script src="https://cdn.ethers.io/lib/ethers-5.2.esm.min.js"
        type="text/javascript">
    </script> -->
    <!-- <script type="module">
        import { ethers } from "https://cdn.ethers.io/lib/ethers-5.2.esm.min.js";
    </script> -->
<body onload="f1()">

<h2>区块链查询</h2>

<h3>网络id:<span id="chainId"></span></h3>
<h3>ens地址:<span id="ensAddress"></span></h3>
<h3>网络名:<span id="chainname"></span></h3>
<h3>区块数:<span id="blockNumber"></span></h3>
<form action="" name="myform">
    <input type="text" id = "inputChainId" value=1>
</form>
<br>

<button class="queryChain" onclick="queryChain()">查询区块链</button>
<h2>查询账户余额</h2>

<h3>区块数:<span class= "blockNumber"></span></h3>
<h3>账户余额:<span id="balance"></span></h3>
<h3>格式化余额:<span  id="formatBalance"></span></h3>

<form action="" name="myform">
    <input type="text" id = "inputCount" value="0xFdF04BcFA232E8D2fBacBb0fb95B092273e8acF8">
</form>
<br>

<!-- <button  id = "button" onclick="f1()">连接钱包</button> -->
<button class="buttonclass"  onclick="queryCount()">查询账户</button>

<h2>获取当前账号</h2>
<h2>Account: <span class="showAccount"></span></h2>
<button class="enableEthereumButton">获取当前账号</button>

<h2>转账</h2>
<form action="" name="myform">
    <span>地址:</span><input type="text" id ="inputAddress" value="0x1895626b720Ca74B9F265334aCE49F790Eea4dA1">
    <span>金额:</span><input type="text" id ="inputNumber" value = 0>
</form>
<button class="buttonclass"  onclick="transFunction()">确认转账</button>

<h2>调用合同写函数</h2>
<form action="" name="myform">
    <span>姓名:</span><input type="text" id ="inputName" value="">
    <span>年龄:</span><input type="text" id ="inputAge" value = 0>
</form>
<button class="but
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值