.. | ||
index.html | ||
README.md |
Documentation: html
ContractFactory
Creating Instances
**new **ethers . ContractFactory( interface , bydecode [ , signer ] )
ContractFactory . fromSolidity( compilerOutput [ , signer ] ) => ContractFactory
contractFactory . connect( signer ) => Contract
Properties
contractFactory . interface => Interface
contractFactory . bytecode => string< DataHexString >
contractFactory . signer => Signer
Methods
contractFactory . attach( address ) => Contract
Return an instance of a Contract attched to address. This is the same as using the Contract constructor with address and this the the interface and signerOrProvider passed in when creating the ContractFactory.
contractFactory . getDeployTransaction( ...args ) => UnsignedTransaction
Returns the unsigned transaction which would deploy this Contract with args passed to the Contract's constructor.
contractFactory . deploy( ...args ) => Promise< Contract >
Uses the signer to deploy the Contract with args passed into the constructor and retruns a Contract which is attached to the address where this contract will be deployed once the transaction is mined.
The transaction can be found at contract.deployTransaction
, and no interactions should be made until the transaction is mined.
// <hide>
const signer = ethers.LocalSigner();
const ContractFactory = ethers.ContractFactory;
// </hide>
// If your contract constructor requires parameters, the ABI
// must include the constructor
const abi = [
"constructor(address owner, uint256 initialValue)"
];
const factory = new ContractFactory(abi, bytecode, signer)
const contract = await factory.deploy("ricmoo.eth", 42);
// The address is available immediately, but the contract
// is NOT deployed yet
contract.address
//!
// The transaction that the signer sent to deploy
contract.deployTransaction
//!
// Wait until the transaction is mined
contract.deployTransaction.wait()
//!
// Now the contract is safe to interact with
contract.value()
//!