fix: working deploy

This commit is contained in:
daltoncoder 2022-11-30 12:28:13 -05:00
parent d6b343cfac
commit 4700e992e6
10 changed files with 2388 additions and 32 deletions

View File

@ -1,2 +1,3 @@
API_URL = "https://polygon-mumbai.g.alchemy.com/v2/alchemy-api-key"
PRIVATE_KEY = "wallet-private-key"
API_URL=https://matic-mumbai.chainstacklabs.com/
PRIVATE_KEY =0x
POLYSCAN_API=

20
deploy/deploy.js Normal file
View File

@ -0,0 +1,20 @@
module.exports = async ({ getNamedAccounts, deployments }) => {
const { deploy, log } = deployments;
const namedAccounts = await getNamedAccounts();
const { deployer } = namedAccounts;
const deployResult = await deploy('FleekERC721', {
from: deployer,
args: ['FleekSites', 'FLKSITE'],
});
if (deployResult.newlyDeployed) {
log(
`contract FleekSites deployed at ${deployResult.address} using ${deployResult.receipt.gasUsed} gas`
);
} else {
log(`using pre-existing contract FleekSites at ${deployResult.address}`);
}
};
//You can put an array of tags below. Tags can be anything and say when a this script should be run. So you can write different scripts for local, prod or other deploys
//For example when you run 'npx hardhat --network hardhat deploy --tags local' hardhat will run all deploy scripts that have the tag local, could be multiple dif scripts
module.exports.tags = [];

View File

@ -0,0 +1 @@
80001

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
80001

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,20 +1,123 @@
/**
* @type import('hardhat/config').HardhatUserConfig
*/
require('@nomiclabs/hardhat-waffle');
require('@nomiclabs/hardhat-etherscan');
require('hardhat-deploy');
require('solidity-coverage');
require('hardhat-gas-reporter');
require('hardhat-contract-sizer');
require('dotenv').config();
require("@nomiclabs/hardhat-ethers");
const { API_URL, PRIVATE_KEY } = process.env;
/**
* @type import('hardhat/config').HardhatUserConfig
*/
const MAINNET_RPC_URL =
process.env.MAINNET_RPC_URL ||
process.env.ALCHEMY_MAINNET_RPC_URL ||
'https://eth-mainnet.alchemyapi.io/v2/your-api-key';
const GOERLI_RPC_URL =
process.env.GOERLI_RPC_URL ||
'https://eth-goerli.alchemyapi.io/v2/your-api-key';
const API_URL =
process.env.API_URL ||
'https://polygon-mainnet.alchemyapi.io/v2/your-api-key';
const POLYGON_MUMBAI_RPC_URL =
process.env.POLYGON_MUMBAI_RPC_URL ||
'https://polygon-mumbai.g.alchemy.com/v2/aIjNlC4r4aLYOHrdCTFT_JUX6OJsOsu0';
const PRIVATE_KEY = process.env.PRIVATE_KEY || '0x';
// optional
const MNEMONIC = process.env.MNEMONIC || 'your mnemonic';
// Your API key for Etherscan, obtain one at https://etherscan.io/
const ETHERSCAN_API_KEY =
process.env.ETHERSCAN_API_KEY || 'Your etherscan API key';
const POLYGONSCAN_API_KEY =
process.env.POLYGONSCAN_API_KEY || 'Your polygonscan API key';
const REPORT_GAS = process.env.REPORT_GAS || false;
module.exports = {
solidity: "0.8.7",
defaultNetwork: "polygon_mumbai",
networks: {
hardhat: {},
polygon_mumbai: {
url: API_URL,
accounts: [`0x${PRIVATE_KEY}`]
}
},
}
defaultNetwork: 'hardhat',
networks: {
hardhat: {
// // If you want to do some forking, uncomment this
// forking: {
// url: MAINNET_RPC_URL
// }
chainId: 31337,
},
localhost: {
chainId: 31337,
},
// goerli: {
// url: GOERLI_RPC_URL,
// accounts: PRIVATE_KEY !== undefined ? [PRIVATE_KEY] : [],
// // accounts: {
// // mnemonic: MNEMONIC,
// // },
// saveDeployments: true,
// chainId: 5,
// },
// mainnet: {
// url: MAINNET_RPC_URL,
// accounts: PRIVATE_KEY !== undefined ? [PRIVATE_KEY] : [],
// // accounts: {
// // mnemonic: MNEMONIC,
// // },
// saveDeployments: true,
// chainId: 1,
// },
// polygon: {
// url: POLYGON_MAINNET_RPC_URL,
// accounts: PRIVATE_KEY !== undefined ? [PRIVATE_KEY] : [],
// saveDeployments: true,
// chainId: 137,
// },
polygonMumbai: {
url: API_URL,
accounts: PRIVATE_KEY !== undefined ? [PRIVATE_KEY] : [],
saveDeployments: true,
chainId: 80001,
},
},
etherscan: {
// npx hardhat verify --network <NETWORK> <CONTRACT_ADDRESS> <CONSTRUCTOR_PARAMETERS>
apiKey: {
goerli: ETHERSCAN_API_KEY,
polygon: process.env.POLYSCAN_API,
polygonMumbai: process.env.POLYSCAN_API,
},
},
gasReporter: {
enabled: REPORT_GAS,
currency: 'USD',
outputFile: 'gas-report.txt',
noColors: true,
// coinmarketcap: process.env.COINMARKETCAP_API_KEY,
},
contractSizer: {
runOnCompile: false,
only: ['NftMarketplace'],
},
namedAccounts: {
deployer: {
default: `privatekey://${PRIVATE_KEY}`, // here this will by default take the first account as deployer
1: 0, // similarly on mainnet it will take the first account as deployer. Note though that depending on how hardhat network are configured, the account 0 on one network can be different than on another
},
player: {
default: 1,
},
},
solidity: {
compilers: [
{
version: '0.8.7',
},
{
version: '0.4.24',
},
],
},
mocha: {
timeout: 200000, // 200 seconds max for running tests
},
};

View File

@ -1,14 +0,0 @@
async function main() {
const FleekERC721 = await ethers.getContractFactory("FleekERC721");
// Start deployment, returning a promise that resolves to a contract object
const Fleek_ERC721 = await FleekERC721.deploy("Test Name", "FLKST");
console.log("Contract deployed to address:", Fleek_ERC721.address);
}
main()
.then(() => process.exit(0))
.catch(error => {
console.error(error);
process.exit(1);
});