https://github.com/ZakAyesh/DynamicNFT
NFTs that randomly change when they are transferred
https://github.com/ZakAyesh/DynamicNFT
Last synced: 2 months ago
JSON representation
NFTs that randomly change when they are transferred
- Host: GitHub
- URL: https://github.com/ZakAyesh/DynamicNFT
- Owner: ZakAyesh
- License: mit
- Created: 2021-03-30T14:49:58.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-04-20T23:53:01.000Z (about 4 years ago)
- Last Synced: 2024-05-16T11:18:02.963Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 340 KB
- Stars: 25
- Watchers: 1
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nft-onchain - Repository
README
# Dynamic NFT
This code creates a dynamic NFT using [Hardhat](https://hardhat.org/) development environment.
The Chainlink Hardhat box was used as a starting point:https://github.com/smartcontractkit/chainlink-hardhat-box## Requirements
- NPM
## Installation
Set your `RINKEBY_RPC_URL` [environment variable.](https://www.twilio.com/blog/2017/01/how-to-set-environment-variables.html). You can get one for free at [Infura's site.](https://infura.io/). You'll also need to set the variable `PRIVATE_KEY` which is your private key from you wallet, ie metamask.
```
export RINKEBY_RPC_URL='www.infura.io/asdfadsfafdadf'
export PRIVATE_KEY='abcdef'
```Then you can install all the dependencies
```bash
npm install
```Or
```bash
yarn install
```## Deploy
Deployment scripts are in the [deploy](https://github.com/ZakAyesh/DynamicNFT/tree/master/deploy) directory. If required, edit the desired environment specific variables or constructor parameters in each script, then run the hardhat deployment plugin as follows. If no network is specified, it will default to the Rinkeby network.
```bash
npx hardhat deploy
```## Test
Tests are located in the [test](https://github.com/ZakAyesh/DynamicNFT/tree/master/test) directory and can be modified as required. To run them:
```bash
npx hardhat test
```## Run
The deployment output will give you the contract address after it is deployed. You can then use thes in conjunction with Hardhat tasks to perform operations on each contract.
```bash
npx hardhat fund-link --contract INSERT_YOUR_CONTRACT_ADDRESS_HERE
npx hardhat create-collectible --contract INSERT_YOUR_CONTRACT_ADDRESS_HERE
```