typescript 如何定义web3合同类型?

oknwwptz  于 2023-02-10  发布在  TypeScript
关注(0)|答案(2)|浏览(158)

我正在尝试用typescript定义一个web3合约类型。我们知道web3合约的定义格式如下:

var myContract = new web3.eth.Contract(contractABI, contractAddress)

我的问题是如何定义一种类型的合同,以使下面的代码成为可能:

function myFunction(someContract: contract){...}
kzmpq1sx

kzmpq1sx1#

如果您没有web3.js:

npm i web3

要获得类型,请将以下内容粘贴到导入中:

import { Contract } from "web3-eth-contract"

现在,您可以使用Contract作为类型

function myFunction(someContract: Contract) {...}
jw5wzhpr

jw5wzhpr2#

请按照以下步骤操作:
1.安装此:

npm i web3-eth-contract.

1.导入Contract

import { Contract } from "web3-eth-contract"

1.使用此Contract作为合同类型:

export const stake = async (masterChefContract:Contract, pid:number, 
amount:number, account:string) => {
return masterChefContract.methods
  .deposit(pid, new BigNumber(amount).times(new BigNumber(10).pow(18)).toString())
  .send({ from: account })
  .on('transactionHash', (tx) => {
    return tx.transactionHash
  })
}

相关问题