问题
我正在使用Next.js和ZKSwap API进行一些开发,但我不知道如何使用部署的智能合约的ABI。
具体来说,我想将其称为DepositETH。
https://en.wiki.zks.org/interact-with-zkswap/make-transaction#deposit-eth
而且似乎我需要配置这个ABI来调用它,但我不知道如何配置它。
https://en.wiki.zks.org/interact-with-zkswap/make-transaction#abis
我做了什么
我按如下方式实现了它,但它不起作用。
import { Wallet, Contract, utils } from 'ethers'
import Web3 from 'web3'
import zkswapABI from '../src/zkswap.ABI.json'
const Web3EthAbi = require('web3-eth-abi');
export default function zkswap() {
//try2
let ABI = zkswapABI
const wallet = new Wallet('0x1c1a49fea9a4ede1dc8e582639f498d41fa3c4a9e2ab2b9d740a4a3ec14e1cbf')
const contract = new Contract('0x8ECa806Aecc86CE90Da803b080Ca4E3A9b8097ad', ABI, wallet)
async function depositETH(amount) {
const tx = await contract.depositETH(wallet.address, {
value: utils.parse(amount)
})
return tx
}
depositETH('0.5').then(console.log)
return (
<div>
<section className="h-screen w-4/5 max-w-5xl mx-auto flex items-center justify-center flex-col">
<h1 className="mb-4 text-green-500 text-3xl">sample</h1>
<p className="mb-2 text-center"> ZKSwap </p>
<button className="btn-blue" onClick={depositETH}> Deposit ETH</button>
</section>
</div>
)
}
错误
事实上,当我尝试'yarn dev'时,我得到了这样一个错误
TypeError: ethers__WEBPACK_IMPORTED_MODULE_1__.utils.parse is not a function
1条答案
按热度按时间qybjjes11#
你不应该在第4行使用require const Web 3EthAbi = require('web 3-eth-abi');//是错误的。
而是使用从“web 3-eth-abi”导入Web 3EthAbi