Contract Deployment
How to deploy a new contract using ethers.js
Install ethers.js to interact with Ethereum
With our Finnie wallet properly set and initialized, it's time to create our collectiblesContract
– an exemplary contract that can be used to mint NFTs.
In the following example, we will use ethers.js library to interact with the Ethereum blockchain. You can install it by running:
npm install --save ethers
Check their documentation for more details.
// First, lets import the ethers.js
import { ethers } from "ethers";
// Sets previously injected ethereum object as provider
// Additionaly, we must specify the network as 'any' for ethers to allow network changes
const ethersProvider = new ethers.providers.Web3Provider(
  window.ethereum,
  "any"
);
// creates contract factory
const collectiblesFactory = new ethers.ContractFactory(
  collectiblesAbi,
  collectiblesBytecode,
  ethersProvider.getSigner() // gets the signer
);
const deploy = async () => {
  try {
    // deploy the contract
    const contract = await collectiblesFactory.deploy();
    // wait until the deployment transaction is finished
    await contract.deployTransaction.wait();
    return contract;
  } catch (error) {
    console.error(error);
  }
};
Now, we can use our newly created to mint our first NFT in the Mint NFT section.