🐍 Welcome to my Moccasin NFT project!
- 4 Basic NFTs: Basic NFT - Workshop1 NFT - Shiba NFT - Picasso NFT
- Dynamic NFT, one where the mood can be changed, and the image be changed.
- If you have an issue to run it, install virtual environment uv.
- uv, is an extremely fast Python package and project manager, written in Rust.
-
curl -LsSf https://astral.sh/uv/install.sh | sh
- Once install follow the next steps:
- 1 uv venv
- 2 uv sync
- 3 source .venv/bin/activate
- Once install follow the next steps:
-
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
-
- uv's documentation is available at docs.astral.sh/uv.
- Additionally, the command line reference documentation can be viewed with uv help.
- Deploy to a fake local network that titanoboa automatically spins up!
- mox run deploy_basic_nft
- mox run deploy_mood_nft- Run tests
mox test
mox test --coverage
A "uniform resource identifier". Like:
"ipfs://QmW16U98JrY9HBY36rQtUuUtDnm6LdEeNdAAggmrx3thMa"
-> ipfs = Interplanetary File System
1.baseURI: ipfs://
2._tokenURI: QmW16U98JrY9HBY36rQtUuUtDnm6LdEeNdAAggmrx3thMa
or
"https://some-website.com/some-json.json"
{
"name": "PUG",
"description": "An adorable PUG pup!",
"image": "ipfs://QmSsYRx3LpDAb1GZQm7zZ1AuHZjfbPkD6J7s9r41xu1mf8", # note: return an image.
"attributes": [
{
"trait_type": "cuteness",
"value": 100
}
]
}For documentation, please run mox --help or visit the Moccasin documentation
Key Steps:
- First: Upload your image to IPFS → get image hash
- Second: Create JSON with that image hash
- Third: Upload JSON to IPFS → get metadata hash
- Fourth: Use metadata hash as NFT tokenURI
data:image/svg+xml;base64,
uv is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or
https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in uv by you, as defined in the Apache-2.0 license, shall be dually licensed as above, without any additional terms or conditions.