1.0.32 • Published 1 year ago

daoapi v1.0.32

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

道易程前端api(daoapi)

daoapi 是一个专门用于操作道易程dao 合约的api, 封装了与智能合约交互的操作过程。让用户以函数的方式直接调用以太坊的智能合约。

安装 daoapi

npm install daoapi --save
或
yarn add daoapi

安装依赖包

daoapi 依赖 ethers.js 和 jszip.js, 需要安装依赖包

npm install ethers --save 或 yarn add ethers
npm install jszip --save 或 yarn add jszip

引用

import { ethers } from "ethers";
import { DaoApi } from "daoapi" 

使用ethers 连接到以太坊服务器后, 执行:

 const etherProvider = new ethers.providers.Web3Provider(provider);
 let _network="goerli" // 允许取值goerli,ropsten,mainnet,local
 let daoapi = new Daoapi(ethers, etherProvider,account,_network); //account 用户钱包地址

webpack 项目使用示例

import { ethers } from "ethers";
import { DaoApi } from "daoapi"
import Web3Modal from "web3modal";


//连接钱包
async function connect() {
  const providerOptions = {  // 空对象,默认使用metamask 
     // walletconnect: {
       //   package: WalletConnectProvider,
       //   options: {
        //      infuraId: "9676a35d629d488fb90d7eac1348c838"
        //  }
   //   }
  };

  const web3Modal = new Web3Modal({
      cacheProvider: false,
      providerOptions,
      disableInjectedProvider: false
  });

  const provider = await web3Modal.connect();
  return provider;
}

async function onConnect() {
    const provider=connect()
    let account=provider.selectedAddress
    let _network="goerli" // 允许取值goerli,ropsten,mainnet,local
    let daoapi = new DaoApi(ethers, provider,account,_network)
    console.log(daoapi.version)
 
  //修改地址:
  //daoapi.dao_commulate.setAddress("0x.....")
  //daoapi.dao_uToken.setAddress("0x.....")

  //修改api
  //daoapi.dao_commulate.setAbi([])
  //daoapi.dao_uToken.setAbi([])

  //获限tokenId 为1的代币余额
  let result= await daoapi.dao_erc20s.balanceOf('1',account)
  console.log(result);

}

onConnect()

html 使用示例

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>daoapi demo</title>
        <script src='./dist/daoApi.js'></script>  
		<script src="https://cdn.ethers.io/lib/ethers-5.2.umd.min.js"  type="application/javascript"></script>
        <script>
		  var Daoapi = window.Daoapi.default;	  
		//连接钱包
		async function connect() {
		  const provider = new ethers.providers.Web3Provider(window.ethereum)
		  provider.send("eth_requestAccounts", []).then(accounts=>{
			  console.log(accounts[0])
			  onConnect(provider,accounts[0])
		  })
		}

		async function onConnect(provider,account) {
      let _network="goerli" // 允许取值goerli,ropsten,mainnet,local
			let daoapi = new Daoapi(ethers, provider,account,_network)
			console.log(daoapi.version)
		 
		  //修改地址:
		  //daoapi.dao_commulate.setAddress("0x.....")
		  //daoapi.dao_uToken.setAddress("0x.....")

		  //修改api
		  //daoapi.dao_commulate.setAbi([])
		  //daoapi.dao_uToken.setAbi([])

          //获限tokenId 为1的代币余额
		  let result= await daoapi.dao_erc20s.balanceOf('1',account)
		  console.log(result);
		}

		window.addEventListener('load', async () => {
			 connect()
		});

        </script>   
    </head>
    <body> 
    </body> 
</html>

nodejs 使用示例

 const { ethers } = require("ethers");
 const { DaoApi } = require("DaoApi");
 let privateKey = "113d3edf949820b4c3b91d9311b31f903bb15d1e317b46efe29828f0e3fdb517";

 let provider = ethers.getDefaultProvider('goerli');
 let wallet = new ethers.Wallet(privateKey,provider);
 let _network="goerli" // 允许取值goerli,ropsten,mainnet,local
 let daoapi = new DaoApi(ethers, wallet,wallet.address,_network)
 console.log(daoapi.version)

//修改地址:
//daoapi.dao_commulate.setAddress("0x.....")
//daoapi.dao_uToken.setAddress("0x.....")

//修改api
//daoapi.dao_commulate.setAbi([])
//daoapi.dao_uToken.setAbi([])


 const getInfo=async (daoapi)=>{
    let aa=await wallet.getBalance();
    console.log(aa.toString())
    //获限tokenId 为1的代币余额
    let result= await daoapi.dao_erc20s.balanceOf('1',wallet.address)
    console.log(result);
 }

 getInfo(daoapi)
 
1.0.32

1 year ago

1.0.25

2 years ago

1.0.29

2 years ago

1.0.27

2 years ago

1.0.31

2 years ago

1.0.30

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.9

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago