Install Metamask, create at least two accounts, and become familiar with switching between mainnet, Ropsten and Rinkeby networks. Fund an account on the Ropsten network using a Ropsten Faucet
Download ganache-2.5.4-linux-x86_64.AppImage. Copy the downloaded file into the ./bin/ directory of the nft/colors
React project.
Run Ganache and verify that you have a working blockchain. It is recommended to always run ganache from this directory rather than installing in a global location as version mismatches can be difficult to debug.
To build the application, run npm install
npm install
Next, run the tests to ensure blockchain operations. It is best to use the instance of truffle deployed to this project, rather than a globally installed instance. This will ensure project compatibility with other packages in package.json and truffle-config.js.
./node_modules/.bin/truffle test
Once the tests pass, deploy the contracts to your local blockchain with the following:
./node_modules/.bin/truffle migrate --reset
If deployment is successful, you can interact with the contract using the truffle console
./node_modules/.bin/truffle console
To demonstrate this capability, mint a ColorPunx NFT Token:
truffle(development) contract = await ColorPunx.deployed()
truffle(development) await contract.mint('#FFFFFF')
Now, with Ganache running, run the React development server:
npm run dev
Open http://localhost:3000 with your browser to see the result.
To learn more about testing on public nets, try the following guide: Connecting to Public Test Networks with Truffle
To learn about transferring NFTs to your friends and family, follow this guide Transferring ERC721 tokens.
To learn about adding meta data to NFTs for integration with Metamask and Opensea, and how to list and sell on OpenSea, watch this excellent tutorial.
To learn more about Next.js, take a look at the following resources:
- Next.js Documentation - learn about Next.js features and API.
- Learn Next.js - an interactive Next.js tutorial.
You can check out the Next.js GitHub repository - your feedback and contributions are welcome!
This is a Next.js project bootstrapped with create-next-app
. It uses Ethers to interact with Ethereum networks and has support for Ganache local blockchains as well as access to Ropsten and Rinkeby test networks using Infura