Frequently Asked Scripts ======================== Deploy with web3.js ``` (async () => { try { console.log('deploy...') // Note that the script needs the ABI which is generated from the compilation artifact. const metadata = JSON.parse(await remix.call('fileManager', 'getFile', 'browser/artifacts/CustomERC20.json')) const accounts = await web3.eth.getAccounts() let contract = new web3.eth.Contract(metadata.abi) contract = contract.deploy({ data: metadata.data.bytecode.object, arguments: ["Mask", "N95"] }) newContractInstance = await contract.send({ from: accounts[0], gas: 1500000, gasPrice: '30000000000' }) console.log(newContractInstance.options.address) } catch (e) { console.log(e.message) } })() ``` Deploy with Ethers ``` (async function() { try { const metadata = JSON.parse(await remix.call('fileManager', 'getFile', 'browser/artifacts/CustomERC20.json')) // the variable web3Provider is a remix global variable object const signer = (new ethers.providers.Web3Provider(web3Provider)).getSigner() // Create an instance of a Contract Factory let factory = new ethers.ContractFactory(metadata.abi, metadata.data.bytecode.object, signer); // Notice we pass the constructor's parameters here let contract = await factory.deploy('Mask', 'N95'); // The address the Contract WILL have once mined console.log(contract.address); // The transaction that was sent to the network to deploy the Contract console.log(contract.deployTransaction.hash); // The contract is NOT deployed yet; we must wait until it is mined await contract.deployed() // Done! The contract is deployed. console.log('contract deployed') } catch (e) { console.log(e.message) } })(); ```