Repo containing the contracts, deployments, and test cases for the smart contracts of the MXTapes project.
- Hardhat
- Ethers
- Hardhat Hackathon Boilerplate
- Hardhat Deploy
- TypeChain
- Helps to have Metamask installed.
New instructions coming soon.
any of these commands (fairly self explainatory)
npm compile
npm deploy
npm test
start up a hardhat test node
npm install
npx hardhat node
new terminal tab to deploy the contract
npx hardhat compile
npx hardhat run scripts/deploy.js --network localhost
The main mixtape contract. Mints mixtapes, which in turn mints SubtapeFactories. Contains royalty information.
The base contract for what a subtape factory looks like. Called a "factory" because it can mint N number of subtapes. Possibly confusing term though.
Mixtape inherits the SubtapeFactoryCreator contract, which provides structure for how to create new SubtapeFactories.
Deploy scripts.
Test cases.
deploys the contracts and launches test node on 8545
npx hardhat node
When you call _mint
you pass the tokenId, so as long as tokenId and the index within the array are the same, there really isn't any problem or need for functions in enumerable like getIdAtIndex
...
we should be fine.
figure out how this royalty stuff works make subtapes sellable? make subtapes easily transferable make subtapes inherit metdata
'''bash npx hardhat console --network localhost const mixtape = await ethers.getContractFactory("Mixtape"); const contract = await mixtape.attach("0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0"); // Now you can call functions of the contract await contract.doTheThing(); '''