Is your project straightforward and you “just want it to work” then considering using Mint Garden Studio. This is an excellent mint tool that doesn’t use a custodial wallet (the way SkyNFT.org does). Why am I attempting to prevent from reading the rest of this article? Because if you are dreamer and you struggle with getting a project completed, then use the simplest tool first to get the job done.
Keep reading if you have custom metadata needs or doing some cool experimentation. Do let me know if you use these tools or need help getting setup. I’d love to learn and share your project with others in the Chia community.
You will need a few things before you hit the big green “Mint” button:
At this point most NFT projects are focused on art and thus mostly minted as “JPEGs”. Most projects I’ve seen are minting JPEG, PNG, and GIF file formats. The Chia wallet doesn’t work well with other formats (i.e. vector) as of writing this article thus this is what folks are minting.
This steps should be failry obvious regardless if you are minting a PFP, generative, or utility based project. For the rest of the steps I’ll be referecing the For Ukraine | Project (FU|P) Limited Edition mint.
The biggest reason I’m having to use custom minting tools is because this project requires custom metadata. In case of FU|P, the poster image being minted and hashed is not actually a good quality being a 1.5 MB JPG. The actual image is designed to be printed as 24” x 36” poster with 4K images embedded in the final 130 MB+ PDF. Offical Chia wallet supposedly caps out at 10 MB raster files and a few other Chia ecosystem tools support up to 100 MB.
In the case of For Ukraine | Project (FU|P) there is 1 poster presented as 3 files. The 3 files are:
The PDF needs to be referenced as a URI within the metadata thus the files need to be uploaded to IPFS/Arweave.
One of the easiest ways to upload is simply via NFT Storage.
They also provide a very easy to use desktop app NFTup
and web UI.
For example, for FU|P limited edition here’s how I organized empty directories that only included the images to be uplaoded to IPFS:
If you are not familiar with IPFS then you have to keep in mind that after your metadata uploads the root CID will change. Wait, what!? Doesn’t that mean you can’t reference the the PDF’s CID in the metadata because the metadata will change the root CID of the uploaded “directories”. Yes, it does, but that’s why if you upload the images as a subdirectory then the child CID won’t change and can still be referenced later.
Here’s an example of root CID for the uplaod of the nft-storage-upload
dir to IPFS:
This is a screenshot from later in the project that includes the meta
sub directory where the meta
IPFS CID remains the same even though the root CID changed:
Creation and validation is made easy with NFT Generate Metadata toolset.
First, create the collection UUID via metadata.py -gu
. This will be forever for your entire collection.
$ python3 metadata.py -gu
B647558F-575E-4B43-AC26-D0B9089FA429
Second, create the reusable collection metadata file that’ll get injected into each NFT metadata you will create.
Locally, copy the template collection metadata file rename to <your-project-name>_collection_metadata.json
.
Edit this file and update:
For example:
{
"collection": {
"name": "For Ukraine|Project (FU|P) - Limited Edition Poster",
"id": "B647558F-575E-4B43-AC26-D0B9089FA429",
"attributes": [
{
"type": "description",
"value": "Limited edition poem poster of the For Ukraine|Project (FU|P) that includes all twenty four generative pieces and their descriptions in visual display of the embedded poem."
},
{
"type": "icon",
"value": "https://scotopic.xyz/assets/img/chia/nfts/fup-limited/thumbnail.png"
},
{
"type": "banner",
"value": "https://scotopic.xyz/assets/img/chia/nfts/fup-limited/banner.png"
},
{
"type": "twitter",
"value": "@alxgoryuk"
},
{
"type": "website",
"value": "https://scotopic.xyz"
}
]
}
}
Above will feed into the creation of the individual art image/NFT’s metadata. You can automate creation of all your custom metadata by passing the custom attributes via JSON objects:
NFT_FILE_OUTPUT_NAME="fup-limited-meta"
NFT_NAME="For Ukraine|Project - Limited Edition Poster"
NFT_DESCRIPTION="Limited edition poster image of the For Ukraine|Project (FU|P) that includes all 24 generative NFTs and their descriptions in visual display of the embedded poem."
POEM_VALUE="Visceral awakening. Today is not without tears.\nNo innocence was lost as this was always in our fears.\nOur fight is forever internal. This is how we came to be.\nBeginning of this war is far from the day that is known to me.\nTrypillya, Greek, Huns, Slavic, and Viking are immortalized in stone and rivers.\nThe anguish you are suffering does not end without tears.\nThe fall of the soviet union is where it all became apparent.\nWhy do you feel that angst against your own? Are you not a parent?\nI dare you to place your naked self upon our chernozem.\nDo you forget that rich soil is what sustains us and them.\nOur families declare with hearts entrenched with certainty,\nof disinformation made so freely by your fraternity.\nThe eastern mind corrupted under your thumb.\nThe western mind is gnashing under the beat of this same drum.\nDo you see conflict as a benefit for either side?\nWe welcome your devices to our waters with one finger salute to use as a guide.\nCome get your warship from the bottom of the Black Sea it is buried there along with your pride.\nThe skeletons of war are eager to join you in song and dance as your mistress bride.\nToday, let's make a toast for our heroes and gaze on victory.\nA precedent of outsiders trampled into our souls throughout history.\nЩе не вмерла України ні слава, ні воля. (Ukraine's freedom has not yet perished, nor has her glory,)\nЩе нам, браття-українці, усміхнеться доля. (Upon us, fellow Ukrainians, fate shall smile once more.)\nЗгинуть наші вороженьки, як роса на сонці, (Our enemies will vanish like dew in the sun,)\nЗапануєм і ми, браття, у своїй сторонці. (And we too shall rule, brothers, in a free land of our own)"
NFT_CUSTOM_METADATA='{"Editions Total": 16, "Poster Preview URI":"https://bafybeid75fjyopcnyiztklqsbhllke7p5ythpmfaiyikkb3mpmtjnhsslu.ipfs.nftstorage.link/images/FUP-poster-w-poem.png", "Poster Vector URI":"https://bafybeid75fjyopcnyiztklqsbhllke7p5ythpmfaiyikkb3mpmtjnhsslu.ipfs.nftstorage.link/images/FUP-poster-w-poem.pdf", "Poem": "'"${POEM_VALUE}"'"}'
python metadata.py -cm fup_limited_collection_metadata.json -od "_limited-edition/_meta" -gm "$NFT_FILE_OUTPUT_NAME" "$NFT_NAME" "$NFT_DESCRIPTION" "${NFT_CUSTOM_METADATA}"
Which results in a templated metadata file being written out as:
{
"format": "CHIP-0007",
"name": "For Ukraine|Project - Limited Edition Poster",
"description": "Limited edition poster image of the For Ukraine|Project (FU|P) that includes all 24 generative NFTs and their descriptions in visual display of the embedded poem.",
"sensitive_content": false,
"attributes": [
{
"trait_type": "Generation",
"value": 1
},
{
"trait_type": "Editions Total",
"value": "16"
},
{
"trait_type": "Poster Preview URI",
"value": "https://bafybeid75fjyopcnyiztklqsbhllke7p5ythpmfaiyikkb3mpmtjnhsslu.ipfs.nftstorage.link/images/FUP-poster-w-poem.png"
},
{
"trait_type": "Poster Vector URI",
"value": "https://bafybeid75fjyopcnyiztklqsbhllke7p5ythpmfaiyikkb3mpmtjnhsslu.ipfs.nftstorage.link/images/FUP-poster-w-poem.pdf"
},
{
"trait_type": "Poem",
"value": "Visceral awakening. Today is not without tears.\nNo innocence was lost as this was always in our fears.\nOur fight is forever internal. This is how we came to be.\nBeginning of this war is far from the day that is known to me.\nTrypillya, Greek, Huns, Slavic, and Viking are immortalized in stone and rivers.\nThe anguish you are suffering does not end without tears.\nThe fall of the soviet union is where it all became apparent.\nWhy do you feel that angst against your own? Are you not a parent?\nI dare you to place your naked self upon our chernozem.\nDo you forget that rich soil is what sustains us and them.\nOur families declare with hearts entrenched with certainty,\nof disinformation made so freely by your fraternity.\nThe eastern mind corrupted under your thumb.\nThe western mind is gnashing under the beat of this same drum.\nDo you see conflict as a benefit for either side?\nWe welcome your devices to our waters with one finger salute to use as a guide.\nCome get your warship from the bottom of the Black Sea it is buried there along with your pride.\nThe skeletons of war are eager to join you in song and dance as your mistress bride.\nToday, let's make a toast for our heroes and gaze on victory.\nA precedent of outsiders trampled into our souls throughout history.\nЩе не вмерла України ні слава, ні воля. (Ukraine's freedom has not yet perished, nor has her glory,)\nЩе нам, браття-українці, усміхнеться доля. (Upon us, fellow Ukrainians, fate shall smile once more.)\nЗгинуть наші вороженьки, як роса на сонці, (Our enemies will vanish like dew in the sun,)\nЗапануєм і ми, браття, у своїй сторонці. (And we too shall rule, brothers, in a free land of our own)"
}
],
"collection": {
"name": "For Ukraine|Project (FU|P) - Limited Edition Poster",
"id": "B647558F-575E-4B43-AC26-D0B9089FA429",
"attributes": [
{
"type": "description",
"value": "Limited edition poster of the For Ukraine|Project (FU|P) that includes all twenty four generative pieces and their descriptions in visual display of the embedded poem."
},
{
"type": "icon",
"value": "https://scotopic.xyz/assets/img/chia/nfts/fup-limited/thumbnail.png"
},
{
"type": "banner",
"value": "https://scotopic.xyz/assets/img/chia/nfts/fup-limited/banner.png"
},
{
"type": "twitter",
"value": "@alxgoryuk"
},
{
"type": "website",
"value": "https://scotopic.xyz"
}
]
}
}
For a more complex example that contains different metadata for each NFT you could also write a bash loop to generate the metadata: This example comes from creating the metadata for the For Ukraine | Project (FU|P).
# bash array of NFT descriptions
fupPoem=(
"Visceral awakening. Today is not without tears."
"No innocence was lost as this was always in our fears."
"Our fight is forever internal. This is how we came to be."
"Beginning of this war is far from the day that is known to me."
"Trypillya, Greek, Huns, Slavic, and Viking are immortalized in stone and rivers."
"The anguish you are suffering does not end without tears."
"The fall of the soviet union is where it all became apparent."
"Why do you feel that angst against your own? Are you not a parent?"
"I dare you to place your naked self upon our chernozem."
"Do you forget that rich soil is what sustains us and them."
"Our families declare with hearts entrenched with certainty,"
"of disinformation made so freely by your fraternity."
"The eastern mind corrupted under your thumb."
"The western mind is gnashing under the beat of this same drum."
"Do you see conflict as a benefit for either side?"
"We welcome your devices to our waters with one finger salute to use as a guide."
"Come get your warship from the bottom of the Black Sea it is buried there along with your pride."
"The skeletons of war are eager to join you in song and dance as your mistress bride."
"Today, let's make a toast for our heroes and gaze on victory."
"A precedent of outsiders trampled into our souls throughout history."
"Ще не вмерла України ні слава, ні воля. (Ukraine's freedom has not yet perished, nor has her glory,)"
"Ще нам, браття-українці, усміхнеться доля. (Upon us, fellow Ukrainians, fate shall smile once more.)"
"Згинуть наші вороженьки, як роса на сонці, (Our enemies will vanish like dew in the sun,)"
"Запануєм і ми, браття, у своїй сторонці. (And we too shall rule, brothers, in a free land of our own)"
)
# bash loop to create individual NFT metadata files
for index in ${!fupPoem[@]}; do
#echo ${fupPoem[$index]}
num=$((index+1))
NFT_NUM=$(printf "%02d" $num)
METADATA='{"Editions Total": 16,"Russian warship (Moskva)":"Snake Island, I, Russian warship, repeat the offer: put down your arms and surrender, or you will be bombed. Have you understood me? Do you copy?", "Ukrainian 1 to Ukrainian 2":"Thats it, then. Or, do we need to f*** them back off?", "Ukrainian 2 to Ukrainian 1":"Might as well.", "Ukrainian 1":"Russian warship, go f*** yourself.", "Image Source":"https://bafybeiclfv23bxqpf2gpaeosub43qocafgpgwqqptmqou2giput6ohery4.ipfs.nftstorage.link/'"${NFT_NUM}"'.flam3"}'
python metadata.py -cm fup_collection_metadata.json -od "_meta" -gm "${NFT_NUM}" "For Ukraine|Project #${NFT_NUM}" "${fupPoem[$index]}" "${METADATA}"
done
All the custom metadata is in the METADATA
shell var that gets merged with the fup_collection_metadata.json
and written to the _meta
dir.
The result is 24 files based on the number of strings in the fupPoem
bash array.
You can then validate an entire directory of metadata via:
python metadata.py -vm "_limited-edition/_meta" -vs "CHIP-0007-NFT1-JSON-SCHEMA.json"
Optionally, you can now upload the metadata to IPFS. I recommend waiting until you have the licese file ready to avoid multiple uploads.
If you are new to the web3 scene and need help figuring out where to upload metadata then head over to NFT data and metadata permastore best practices.
While it’s a personal preference on whether to even include a license in a project I’d suggest having one if you have no preference. Having a license along side your project looks good in NFT galleries, gives more confidence to you as a creator, and some peace of mind about your desire about your project beyond the minting phase.
The simplest is to choose something from Creative Commons licenses. You can even copy/embed a plain text Creative Commons licenses
Finalize all assets and re-upload the whole directory again. Note how any previously uploaded directories have the same IPFS CIDs (hashes). In https://NFT.storage, I also delete the initial root CID knowing the newly uploaded root CID will contain everything.
It’s time to test the waters with the mint process and see how things work. You could skip right to mainnet if you got the process figured out.
Generate a new mnemonic:
$ chia keys generate;
Generating private key
Added private key with public key fingerprint 301031456
Show and record the mnemonic for yourself somewhere safe (I recommend 1Password app):
$ chia keys show --show-mnemonic-seed;
Fingerprint: 301031456
Master public key (m): b5188f215129f5c353f4086869d008be8097c8b620e1574f7166c13a6ed391c40bdf00f01ff932f7a42f5b13ef21c584
Farmer public key (m/12381/8444/0/0): 88be3047a13670cf484a3f4b1e322dbc545bb9d8c90f001b34e4c652d941ff0adf74ef9af32a528dd8ba9a96b179db6c
Pool public key (m/12381/8444/1/0): a4b83bb1844075e1564cf45862b2da5af1c0f70c665fc1935a9b86f014b9a3dbdde33b6bc39c655466b429cb6b161e67
First wallet address: txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q
Master private key (m): <keep this private>
First wallet secret key (m/12381/8444/2/0): <keep this private>
Mnemonic seed (24 secret words):
<your mnemonic to never show anyone>
Verify you can see the new wallet in your list:
$ chia wallet show
Wallet keys:
1) 2586333426
2) 3830465658
3) * 3936560748 (Synced)
4) 3494309279
5) 301031456 <this is the new wallet>
The very first thing is getting TXCH to your wallet which you can get from XCHdev.com. This will allow you to use fees during minting otherwise you may get stuck in the mempool and never mint.
I already have a testnet DID and an old wallet so I’ll just transfer between my own wallets.
DID_TESTNET="did:chia:1fv2r738g7q6nn4k0j7ur9wjcf4vt5p0v27ncpdz2uc82zgdvg26qz38s56"
NEW_WALLET_FINGERPRINT="301031456"
OLD_WALLET_FINGERPRINT="3936560748"
CHIA_FEE_XCH="0.000000001"
chia wallet show -f $OLD_WALLET_FINGERPRINT
Next, send a bit of TXCH to your new first wallet address
:
TO_ADDRESS=txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q
CHIA_XCH=1.0
# echo out to screen what we are sending to verify, then simply copy/paste to execute
echo chia wallet send -f $OLD_WALLET_FINGERPRINT -a $CHIA_XCH --address $TO_ADDRESS --fee $CHIA_FEE_XCH
For example, for me above looked like this:
$ echo chia wallet send -f $OLD_WALLET_FINGERPRINT -a $CHIA_XCH --address $TO_ADDRESS --fee $CHIA_FEE_XCH
chia wallet send -f 3936560748 -a 1.0 --address txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q --fee 0.0000000001
# verified the command looks good and copy/pasted from above:
$ chia wallet send -f 3936560748 -a 1.0 --address txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q --fee 0.0000000001
Submitting transaction...
Transaction submitted to nodes: [{'peer_id': '2c7feefd0aef0fabb367effff1e39aa07f47f2746336fce04e2234b9ce6bdc39', 'inclusion_status': 'SUCCESS', 'error_msg': None}]
Run 'chia wallet get_transaction -f 3936560748 -tx 0x0fc99ad7e062c2fd052a67dc912621d4127ac57d8cae2457541743f401dfc202' to get status
Verify the new wallet received the TXCH:
chia wallet show -f $OLD_WALLET_FINGERPRINT
chia wallet show -f $NEW_WALLET_FINGERPRINT
Here’s what I see in the new wallet:
$ chia wallet show -f $NEW_WALLET_FINGERPRINT
Wallet height: 1753160
Sync status: Synced
Balances, fingerprint: 301031456
Chia Wallet:
-Total Balance: 1.0 txch (1000000000000 mojo)
-Pending Total Balance: 1.0 txch (1000000000000 mojo)
-Spendable: 1.0 txch (1000000000000 mojo)
-Type: STANDARD_WALLET
-Wallet ID: 1
Connections:
Type IP Ports NodeID Last Connect MiB Up|Dwn
FULL_NODE 127.0.0.1 58444/58444 2c7feefd... Nov 03 14:36:41 0.1|0.1
-Height: No Info -Hash: No Info -Trusted: True
Great so we got a new Chia wallet and TXCH. Now we need an NFT wallet + DID for minting.
Look at your old wallet and let it sync back again:
chia wallet show -f $OLD_WALLET_FINGERPRINT
Next, let’s transfer the testnet DID to your new wallet:
DID_WALLET_ID=2
# verify it's all good and then copy/paste to execute
echo chia rpc wallet did_transfer_did \'{\"wallet_id\": $DID_WALLET_ID, \"inner_address\": \"${TO_ADDRESS}\", \"fee\": 1000}\'
For example:
$ echo chia rpc wallet did_transfer_did \'{\"wallet_id\": $DID_WALLET_ID, \"inner_address\": \"${TO_ADDRESS}\", \"fee\": 1000}\'
chia rpc wallet did_transfer_did '{"wallet_id": 2, "inner_address": "txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q", "fee": 1000}'
# verify and copy/paste
chia rpc wallet did_transfer_did '{"wallet_id": 2, "inner_address": "txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q", "fee": 1000}'
{
"success": true,
"transaction": {
"additions": [
...
Verify your DID has been received in the new wallet, should look like this:
$ chia wallet show -f $NEW_WALLET_FINGERPRINT
Wallet height: 1753207
Sync status: Synced
Balances, fingerprint: 301031456
Chia Wallet:
-Total Balance: 1.0 txch (1000000000000 mojo)
-Pending Total Balance: 1.0 txch (1000000000000 mojo)
-Spendable: 1.0 txch (1000000000000 mojo)
-Type: STANDARD_WALLET
-Wallet ID: 1
DID did:chia:1fv2r738g7q6nn4k0j7ur9wjcf4vt5p0v27ncpdz2uc82zgdvg26qz38s56:
-Total Balance: 1.0
-Pending Total Balance: 1.0
-Spendable: 1.0
-Type: DECENTRALIZED_ID
-DID ID: did:chia:1fv2r738g7q6nn4k0j7ur9wjcf4vt5p0v27ncpdz2uc82zgdvg26qz38s56
-Wallet ID: 2
Connections:
...
The last required step to prep for minting is creating a DID NFT wallet for minting.
chia wallet nft create -f $NEW_WALLET_FINGERPRINT -di $DID_TESTNET -n "testnet w scotopic DID"
chia wallet show -f $NEW_WALLET_FINGERPRINT
Successful creation should look like this:
$ chia wallet show -f $NEW_WALLET_FINGERPRINT
Wallet height: 1753212
Sync status: Synced
Balances, fingerprint: 301031456
Chia Wallet:
-Total Balance: 1.0 txch (1000000000000 mojo)
-Pending Total Balance: 1.0 txch (1000000000000 mojo)
-Spendable: 1.0 txch (1000000000000 mojo)
-Type: STANDARD_WALLET
-Wallet ID: 1
DID did:chia:1fv2r738g7q6nn4k0j7ur9wjcf4vt5p0v27ncpdz2uc82zgdvg26qz38s56:
-Total Balance: 1.0
-Pending Total Balance: 1.0
-Spendable: 1.0
-Type: DECENTRALIZED_ID
-DID ID: did:chia:1fv2r738g7q6nn4k0j7ur9wjcf4vt5p0v27ncpdz2uc82zgdvg26qz38s56
-Wallet ID: 2
testnet w scotopic DID:
-Total Balance: 0.0
-Pending Total Balance: 0.0
-Spendable: 0.0
-Type: NFT
-DID ID: did:chia:1fv2r738g7q6nn4k0j7ur9wjcf4vt5p0v27ncpdz2uc82zgdvg26qz38s56
-Wallet ID: 3
Connections:
...
You should already have the project metadata, data and license ready. This step is to setup Chia NFT minter toolset to use for the next steps
You should be able to check this out anywhere since chia is pulled in as a dependency:
git clone https://github.com/scotopic/chia-nft-minter.git fup-limited-minter
cd fup-limited-minter
# follow the setup on the wiki https://github.com/scotopic/chia-nft-minter#setup
python3 -m venv venvnft
. ./venvnft/bin/activate
pip3 install -r requirements.txt
# fix the `bdist_wheel` error
sudo apt install python3.8-venv python3.8-dev
# reinstall required libs
pip3 install -r requirements.txt
For example my directory structure is as follows:
~/Documents/chia-blockchain/fup-limited-minter$ ls -la
total 116
drwxrwxr-x 4 ... .
drwxrwxr-x 17 ... ..
-rw-rw-r-- 1 ... chia_overrides.py
drwxrwxr-x 8 ... .git
-rw-rw-r-- 1 ... .gitignore
-rw-rw-r-- 1 ... LICENSE
-rw-rw-r-- 1 ... nft_mint_nft.py
-rw-rw-r-- 1 ... nft_mint_prep.py
-rw-rw-r-- 1 ... nft_offers.py
-rw-rw-r-- 1 ... README.md
-rw-rw-r-- 1 ... requirements.txt
drwxrwxr-x 6 ... venvnft
I copied over a fup-limited
directory with the contents of what I’ve uploaded to permastore:
~/Documents/chia-blockchain/fup-limited-minter$ ls -la fup-limited/
total 28
drwxr-xr-x 5 ... .
drwxrwxr-x 5 ... ..
drwxr-xr-x 2 ... images
drwxr-xr-x 2 ... license
drwxr-xr-x 2 ... meta
Now you have to gather it all into a “minting metadata” file. This is simply pieces of your project acting as inputs to the Chia CLI/RPC commands put into a JSON file.
The script takes in the data directories and “minting metadata” output directory. I also specify the project will mint 16 editions of a single asset (the poster - PDF file) with 5% royalty attached to each. The primary sales and royalties all go to the same address/wallet in this case.
python3 nft_mint_prep.py \
-pmd "fup-limited/images" "fup-limited/meta" "fup-limited/license/license.txt" "_minter_data_testnet" \
-udi "https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/images" \
-umi "https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/meta" \
-uli "https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/license/license.txt" \
--edition-total 3 \
--royalty-percentage 500 \
--royalty-address txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q \
--target-address txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q
The output of above command is as follows:
$ cat _minter_data_testnet/fup-limited-meta.json;echo;
{
"uris": [
"https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/images/fup-limited-meta.png"
],
"hash": "1ca678e81a6a742f713d6a686c5dff8def0ae1947871cd98804e1635d4201c41",
"meta_uris": [
"https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/meta/fup-limited-meta.json"
],
"meta_hash": "7dcad2aee386a09a90520382b535b6cbfba1d12015a953b299b0b4c79d4d4f2f",
"license_uris": [
"https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/license/license.txt"
],
"license_hash": "08e52f62c0f2eeaaf5903a24a2413c35649ad7c125af9be9adddc853d819c904",
"edition_total": "3",
"royalty_address": "txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q",
"target_address": "txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q",
"royalty_percentage": "500"
}
However this generates INCORRECT “minting metadata” because nft_mint_prep.py
assumes two things:
.png
images/
and metadata/
contains files named similarly for example images/myimage1.png
and metadata/myimage1.json
Since I’m generating FPF project I will manually edit and verify:
$ sha256sum fup-limited/images/FUP-poster-w-poem.jpg
d775ed4dcd4e46699f7d7a3a088b14ff186db60a8acac7c04298fb2b11bff4c8 fup-limited/images/FUP-poster-w-poem.jpg
$ sha256sum fup-limited/meta/fup-limited-meta.json
9b2970b6a6a466cffbfcc3a99723c07857e3c91f2eccfdd71f61bb55d7c895c5 fup-limited/meta/fup-limited-meta.json
$ sha256sum fup-limited/license/license.txt
08e52f62c0f2eeaaf5903a24a2413c35649ad7c125af9be9adddc853d819c904 fup-limited/license/license.txt
The final “minting metadata” file looks like this:
cat _minter_data_testnet/fup-limited-meta.json;echo;
{
"uris": [
"https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/images/FUP-poster-w-poem.jpg"
],
"hash": "d775ed4dcd4e46699f7d7a3a088b14ff186db60a8acac7c04298fb2b11bff4c8",
"meta_uris": [
"https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/meta/fup-limited-meta.json"
],
"meta_hash": "7dcad2aee386a09a90520382b535b6cbfba1d12015a953b299b0b4c79d4d4f2f",
"license_uris": [
"https://bafybeiav4c4qtz2d45ylio4pugpiyssulyj4ljnz6j6irbxehzscshrl3e.ipfs.nftstorage.link/license/license.txt"
],
"license_hash": "08e52f62c0f2eeaaf5903a24a2413c35649ad7c125af9be9adddc853d819c904",
"edition_total": "3",
"royalty_address": "txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q",
"target_address": "txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q",
"royalty_percentage": "500"
}
Verify you are still in the correct wallet:
chia wallet show -f $NEW_WALLET_FINGERPRINT
Do a test run of your command which doesn’t actually mint but verifies you have everything prepared.
The --override-address
is only necessary if the specified address in _minter_data_testnet
is not what you want.
python3 nft_mint_nft.py \
-md "_minter_data_testnet" \
--wallet-id 3 \
--fee-mojos 11 \
--override-address txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q \
--dry-run
Finally run the same command without the --dry-run
:
python3 nft_mint_nft.py \
-md "_minter_data_testnet" \
--wallet-id 3 \
--fee-mojos 11 \
--override-address txch1prr9fn9tqpsvph6yxyp4uvj6692r60qx09kj6e60mukd2pfhte2q0gu02q
Usually you can watch the minted NFTs showup in MintGarden Acitivty website
Go back to Create a New Wallet and follow the steps using Chia mainnet instead of testnet. The only difference will be the DID and XCH addresses you’ll use for the minting process.
First time running through the process can be a bit challenging. This guide was created as much for anyone to dive deeper into the minting process as it was for me to document the steps involved. As always, reach out to me if you have questions or have suggestions on improving above process.
Good luck with your next minting project!
]]>www.nft.com/cool.JPEG
and project website goes offline?
As an NFT creator, you will have to consider how and where you will store your beloved NFT collection data and metadata long-term. When your server goes offline so will your JPEGs. Just because you minted on a blockchain doesn’t mean the data is stored permanently. Going forward NFT creators will have to change how and where the data resides for the security and permanence of those NFTs.
First, let’s define the best practices for NFT collections:
Rating | Storage System | Storage Providers |
---|---|---|
Best | Combination of Arweave and IPFS | Multiple ;) |
Better | Arweave | ardrive.io |
Good | IPFS | NFT.storage, Brave, Filecoin … etc |
Worst | Project website hosted | Geocities, Bluehost, AWS … etc |
For most projects, IPFS is likely good enough, especially in the beginning. For Chia NFT collections, you can always add more URIs for your data later so starting with IPFS is fine and easy to do.
The “best” in this case is simply a combination of services because you never when one system goes offline.
(Update: 2022-08-12) You should be aware that uploading to IPFS has a slight drawback compared to traditional web hosting. When hosting on your own website the files are generally immediately available. If you use CDN for speeding up the sharing then you are aware there’s a time needed to distribute the data across the world. Similarly, with IPFS you have to give the nodes to actually store the data and make it available across the network.
Here’s one approach you could take when using IPFS:
I’ve seen marketplaces fail to load the data from IPFS when the IPFS pin happened within the same hour as the minting. An alternative is to use your website hosting as the first URI to resolve the resources faster.
If you understand how BitTorrent works with peers and seeders then you already know how IPFS works. IPFS protocol was based on the idea of sharing files peer-to-peer where someone has to host the data (seeder).
The peers then connect to the nodes and retrieve the data. The data seeders are incentivized via payouts from Filecoin system and this is why https://NFT.storage can provide their services for free.
They also provide multiple ways to upload data to IPFS via their website, standalone app, and API.
Read more on NFT.storage hosting free here. Here’s a snippet:
Filecoin storage providers commit their hard drive capacity to the Filecoin network and earn significant block rewards for doing so. This translates into real-world profits for storage providers, which incentivizes them to continue committing additional hard disk space to the Filecoin network. However, when storage providers are storing data from Filecoin users, their likelihood of winning block rewards goes up by a big factor 一 10x! Because NFT.Storage participates in the Filecoin Plus program, all data uploaded through the service is eligible for this 10x reward multiplier.
Arweave is more like a blockchain called blockweave and is attempting to become a defacto in perma-store systems.
They have a bold claim too: Arweave enables you to store documents and applications forever.
An explanation from their website:
Just as a blockchain is a linked collection of blocks containing transactions, a blockweave – specifically designed for the Arweave protocol – is a set of blocks that contain data, linking to multiple previous blocks from the network. This data structure allows the network to an enforce that miners provide a ‘Proof of Access’ (PoA) to old data in order to add new blocks.
Unlike in a traditional blockchain, where miners are forced to expend electricity in order to earn tokens, in the Arweave network miners are also encouraged to replicate valuable data (the information stored in the network) in order to gain tokens. This mechanism offsets the value that is normally wasted in blockchain networks, with useful, energy efficient storage of data.
Perhaps Chia DataLayer will be part of that answer. I believe the real answer is a combination of good technologies. Chia’s CHIP-0007 NFT standard allows multiple sources of NFT data and metadata in URIs which allows you to host on multiple storage providers.
As a creator, you’ll face some less than fun questions about minting your NFT project. Hopefully, this helps push you forward with your NFT project by using IPFS first and then Arweave later. Now go out there and create something beautiful!
]]>Rarity scores and trait calculation seem to help folks reason empirically about the value of a collectible. Beyond rarity scores, there is also individual value (aka weight) assigned to art/collectibles that can alter the value of a collectible.
Rarity is one of the simplest ways to reason about the value and thus drives the need for rarity tools.
A lot of this comes from information I learned from how Rarity Tools defines Rarity Score for Ethereum NFT collections. Out of convenience, this article uses the same terms and calculations for Chia NFT collections.
There are many ways to compute rarity but these 3 are easiest to reason about:
The main reason to compare these 3 computations is to show rarity score solving issues with the former.
Comparing the NFTs using the rarest trait of each NFT. Easy to think about but it has a glaring issue. It doesn’t account for any of the other NFT traits in the same collection.
This method multiplies all of the trait rarities of a single NFT together. Just like with trait rarity this approach is missing the same trait rarities of the other NFTs in the same collection. This gives a false sense of rarity because you are once again looking at a single NFT’s rarities just in a different way.
In retrospect, it should be obvious the entire collection’s traits must be considered for a more balanced calculation.
Rarity.tools created and defined Rarity Score as:
[Rarity Score for a Trait Value] = 1 / ([Number of Items with that Trait Value] / [Total Number of Items in Collection])
The total Rarity Score for an NFT is the sum of the Rarity Score of all of its trait values.
src: (Rarity Score)[https://raritytools.medium.com/ranking-rarity-understanding-rarity-calculation-methods-86ceaeb9b98c]
For example, the rarity scores for Chia Friends look like this:
The Rarity.tools article does an excellent summary so I’ll paste it here verbatim:
As noted, Statistical Rarity and Average Rarity have a tendency to over-emphasize the overall level of rarities of all traits in an NFT, while not giving enough emphasis to single rare traits that could be 1 of 1s in the whole collection.
Trait Rarity on the other hand has the complete opposite problem where it only considers the rarest trait.
Rarity Score give results that give enough emphasis to single rare traits and also includes overall trait rarities in its calculation. And most importantly the results it gives match better with our human expectations.
This calculation attempts the combination of rarity score calculation while giving more weight to categories with fewer traits. Fewer traits mean higher rarity scores. Take it for what you will. This calculation simply gives the viewer another way to look at the same data.
You can see there are many ways to look at the same data.
Sometimes an artist or a community will give more weight to the rarity score. With Chia Friends, you can see how special art associated with Chia employees ends up giving more weight to those NFTs. src: FarmersMarket.cc
As you can see there are different ways to think about rarity. It all boils down to this: Art is subjective.
Buy what you like. 😄
]]>Want to learn about the types of rarity scores and how these were calculated? Read here: How is a NFT rarity score calculated?
Click on Rarity Score
and Rarity Score Normalized
to see the different rarity scores.
Bigger number == more rare.
In this particular NFT collection, there is a significant difference between rarity score and normalized rarity score. Rarity score normalization takes into the 2 generations of aliens. If you look at the entire metadata dataset you’ll notice there are 2 styles of NFT metadata. I’ll break apart the differences below.
Generation 1 is space alien 1 through 444. These are indicated by standard metadata names:
"attributes": [
{
"trait_type": "Background",
"value": "Brick Red"
},
{
"trait_type": "Body",
"value": "Red Orange"
},
{
"trait_type": "Eyes",
"value": "Light Red"
},
...
Generation 2 is space alien 445 through 777. These are indicated by modified trait_type
names.
"attributes": [
{
"trait_type": "Background-",
"value": "Ice Cold"
},
{
"trait_type": "Body-",
"value": "Dark Mint"
},
{
"trait_type": "Eyes-",
"value": "Alien Black"
},
This unusual naming scheme for JSON/metadata created a more complex rarity calculation.
An alternative and better approach could have been to add a generation
attribute.
Having a generation
attribute would make it easier to reason about the rarity and visually easy to inspect.
"attributes": [
{
"trait_type": "generation",
"value": "1"
},
ID | Rarity score | Rarity score normed |
---|---|---|
1 | 204.441 | 181.449 |
2 | 196.337 | 185.371 |
3 | 285.424 | 265.597 |
4 | 116.183 | 136.215 |
5 | 141.988 | 162.782 |
6 | 130.01 | 168.883 |
7 | 153.306 | 158.415 |
8 | 81.1383 | 115.751 |
9 | 172.844 | 194.86 |
10 | 255.985 | 237.136 |
11 | 184.057 | 193.187 |
12 | 276.676 | 293.674 |
13 | 174.897 | 171.17 |
14 | 168.822 | 189.853 |
15 | 200.051 | 190.667 |
16 | 236.87 | 215.057 |
17 | 189.708 | 171.669 |
18 | 119.763 | 136.747 |
19 | 330.681 | 287.838 |
20 | 200.275 | 198.824 |
21 | 316.277 | 294.02 |
22 | 184.461 | 187.676 |
23 | 206.58 | 187.677 |
24 | 120.119 | 141.362 |
25 | 315.027 | 295.971 |
26 | 130.85 | 139.936 |
27 | 146.767 | 152.368 |
28 | 123.828 | 169.011 |
29 | 120.186 | 145.229 |
30 | 186.598 | 187.234 |
31 | 163.459 | 182.949 |
32 | 205.963 | 189.325 |
33 | 165.372 | 170.681 |
34 | 184.216 | 173.6 |
35 | 212.311 | 208.615 |
36 | 231.918 | 233.021 |
37 | 153.99 | 164.603 |
38 | 139.02 | 153.729 |
39 | 179.463 | 176.36 |
40 | 160.535 | 169.617 |
41 | 261.551 | 220.419 |
42 | 119.009 | 149.97 |
43 | 266.741 | 227.425 |
44 | 153.119 | 177.669 |
45 | 189.498 | 194.539 |
46 | 210.149 | 204.849 |
47 | 205.61 | 201.388 |
48 | 241.279 | 201.183 |
49 | 165.338 | 198.388 |
50 | 162.251 | 210.052 |
51 | 132.667 | 140.454 |
52 | 155.035 | 167.918 |
53 | 253.771 | 241.17 |
54 | 209.619 | 191.115 |
55 | 92.3149 | 133.218 |
56 | 138.234 | 167.471 |
57 | 99.5468 | 125.167 |
58 | 192.292 | 188.533 |
59 | 197.739 | 194.75 |
60 | 98.1539 | 125.532 |
61 | 193.463 | 207.266 |
62 | 140.648 | 170.617 |
63 | 146.299 | 172.763 |
64 | 143.024 | 149.2 |
65 | 252.899 | 226.169 |
66 | 276.071 | 237.018 |
67 | 193.315 | 175.441 |
68 | 111.872 | 145.984 |
69 | 109.002 | 138.023 |
70 | 352.433 | 256.101 |
71 | 123.319 | 161.43 |
72 | 140.669 | 158.825 |
73 | 197.637 | 191.637 |
74 | 131.473 | 155.512 |
75 | 109.213 | 153.904 |
76 | 150.42 | 165.026 |
77 | 263.029 | 238.024 |
78 | 144.92 | 168.231 |
79 | 151.723 | 163.016 |
80 | 203.624 | 211.97 |
81 | 198.494 | 181.43 |
82 | 156.074 | 163.02 |
83 | 108.429 | 139 |
84 | 213.441 | 195.713 |
85 | 166.8 | 177.917 |
86 | 92.5549 | 119.381 |
87 | 151.696 | 157.608 |
88 | 228.752 | 216.728 |
89 | 243.701 | 210.094 |
90 | 192.34 | 210.036 |
91 | 205.545 | 204.684 |
92 | 172.334 | 171.205 |
93 | 223.119 | 200.223 |
94 | 104.341 | 139.306 |
95 | 115.91 | 148.711 |
96 | 212.156 | 186.109 |
97 | 187.645 | 194.113 |
98 | 185.637 | 205.671 |
99 | 155.984 | 175.718 |
100 | 192.592 | 225.773 |
101 | 215.88 | 204.113 |
102 | 194.619 | 199.414 |
103 | 327.777 | 271.863 |
104 | 153.821 | 160.936 |
105 | 165.648 | 173.023 |
106 | 167.43 | 169.177 |
107 | 180.901 | 177.909 |
108 | 203.158 | 206.155 |
109 | 233.87 | 240.211 |
110 | 218.751 | 220.338 |
111 | 241.388 | 222.17 |
112 | 152.238 | 153.749 |
113 | 172.022 | 177.504 |
114 | 158.481 | 175.502 |
115 | 127.104 | 156.561 |
116 | 287.824 | 221.212 |
117 | 216.829 | 234.353 |
118 | 200.478 | 212.152 |
119 | 95.4155 | 127.138 |
120 | 172.567 | 179.226 |
121 | 207.99 | 195.518 |
122 | 240.361 | 239.696 |
123 | 339.958 | 283.288 |
124 | 330.725 | 308.574 |
125 | 161.616 | 172.378 |
126 | 311.752 | 258 |
127 | 173.832 | 191.059 |
128 | 211.853 | 180.883 |
129 | 185.3 | 196.568 |
130 | 144.481 | 161.84 |
131 | 136.593 | 142.606 |
132 | 203.458 | 189.518 |
133 | 121.438 | 137.152 |
134 | 226.539 | 213.53 |
135 | 187.127 | 190.461 |
136 | 126.218 | 154.135 |
137 | 122.715 | 134.362 |
138 | 230.378 | 201.809 |
139 | 160.501 | 169.232 |
140 | 152.61 | 153.416 |
141 | 112.363 | 153.875 |
142 | 136.44 | 170.361 |
143 | 177.625 | 185.959 |
144 | 261.968 | 229.128 |
145 | 125.883 | 144.466 |
146 | 165.902 | 167.016 |
147 | 118.978 | 144.179 |
148 | 203.415 | 192.161 |
149 | 146.319 | 154.708 |
150 | 196.966 | 199.196 |
151 | 304.131 | 254.464 |
152 | 317.022 | 315.672 |
153 | 224.145 | 209.771 |
154 | 147.235 | 149.693 |
155 | 221.656 | 213.158 |
156 | 98.1368 | 137.656 |
157 | 230.04 | 207.264 |
158 | 153.279 | 165.019 |
159 | 187.881 | 193.06 |
160 | 169.2 | 168.701 |
161 | 208.129 | 197.926 |
162 | 161.657 | 175.932 |
163 | 87.8856 | 122.248 |
164 | 128.691 | 152.723 |
165 | 211.544 | 203.531 |
166 | 135.29 | 139.004 |
167 | 130.305 | 165.469 |
168 | 164.772 | 170.108 |
169 | 136.027 | 149.146 |
170 | 214.235 | 208.68 |
171 | 159.526 | 166.458 |
172 | 168.465 | 179.206 |
173 | 236.262 | 202.732 |
174 | 109.926 | 152.556 |
175 | 184.444 | 194.945 |
176 | 400.719 | 292.649 |
177 | 191.765 | 176.648 |
178 | 148.038 | 157.922 |
179 | 255.832 | 248.635 |
180 | 225.621 | 211.31 |
181 | 165.126 | 176.628 |
182 | 135.422 | 168.092 |
183 | 190.169 | 177.623 |
184 | 89.6347 | 125.999 |
185 | 133.446 | 162.508 |
186 | 195.911 | 181.901 |
187 | 118.63 | 149.566 |
188 | 224.4 | 238.726 |
189 | 112.12 | 121.979 |
190 | 171.02 | 159.25 |
191 | 254.433 | 216.393 |
192 | 134.057 | 153.486 |
193 | 313.586 | 229.817 |
194 | 201.772 | 198.537 |
195 | 267.381 | 229.999 |
196 | 179.131 | 166.466 |
197 | 186.803 | 209.586 |
198 | 193.299 | 187.669 |
199 | 134.886 | 143.264 |
200 | 149.462 | 163.213 |
201 | 133.004 | 172.967 |
202 | 192.44 | 185.516 |
203 | 232.078 | 226.268 |
204 | 198.757 | 183.474 |
205 | 164.179 | 176.631 |
206 | 408.406 | 329.564 |
207 | 230.517 | 209.249 |
208 | 96.0317 | 128.385 |
209 | 167.904 | 155.405 |
210 | 114.511 | 142.449 |
211 | 286.504 | 239.915 |
212 | 145.978 | 158.92 |
213 | 130.106 | 176.607 |
214 | 215.01 | 224.686 |
215 | 176.973 | 173.155 |
216 | 167.866 | 178.989 |
217 | 113.881 | 142.626 |
218 | 152.278 | 170.038 |
219 | 216.514 | 213.261 |
220 | 198.059 | 187.726 |
221 | 245.262 | 206.486 |
222 | 144.998 | 156.614 |
223 | 244.261 | 217.042 |
224 | 197.558 | 227.56 |
225 | 244.88 | 197.309 |
226 | 171.342 | 164.928 |
227 | 137.52 | 149.907 |
228 | 432.53 | 392.231 |
229 | 263.917 | 259.81 |
230 | 178.64 | 168.994 |
231 | 211.981 | 209.903 |
232 | 225.001 | 220.99 |
233 | 116.974 | 142.936 |
234 | 137.107 | 161.168 |
235 | 343.677 | 283.814 |
236 | 166.148 | 176.763 |
237 | 165.894 | 180.902 |
238 | 106.991 | 137.123 |
239 | 109.265 | 123.347 |
240 | 164.168 | 180.369 |
241 | 132.675 | 163.483 |
242 | 236.509 | 245.669 |
243 | 138.461 | 152.096 |
244 | 208.227 | 189.466 |
245 | 134.044 | 168.891 |
246 | 237.738 | 204.691 |
247 | 137.045 | 147.788 |
248 | 174.387 | 173.521 |
249 | 241.644 | 253.893 |
250 | 155.505 | 159.697 |
251 | 208.581 | 194.831 |
252 | 136.979 | 169.238 |
253 | 184.125 | 180.878 |
254 | 127.636 | 150.451 |
255 | 117.977 | 159.923 |
256 | 191.286 | 176.433 |
257 | 134.184 | 156.381 |
258 | 246.588 | 203.954 |
259 | 144.091 | 166.357 |
260 | 239.772 | 215.073 |
261 | 218.008 | 188.175 |
262 | 141.653 | 153.131 |
263 | 129.753 | 139.641 |
264 | 118.801 | 152.94 |
265 | 141.709 | 164.306 |
266 | 187.587 | 174.739 |
267 | 277.003 | 247.795 |
268 | 259.116 | 214.69 |
269 | 153.663 | 170.984 |
270 | 118.963 | 132.291 |
271 | 191.631 | 185.842 |
272 | 164.6 | 183.241 |
273 | 192.942 | 189.009 |
274 | 181.705 | 197.04 |
275 | 272.686 | 274.292 |
276 | 176.008 | 183.302 |
277 | 206.226 | 188.444 |
278 | 121.949 | 146.775 |
279 | 366.208 | 302.957 |
280 | 153.741 | 178.133 |
281 | 88.2242 | 132.079 |
282 | 197.745 | 186.539 |
283 | 201.569 | 192.665 |
284 | 241.022 | 230.558 |
285 | 207.761 | 197.093 |
286 | 264.888 | 219.864 |
287 | 152.168 | 169.687 |
288 | 127.219 | 146.745 |
289 | 386.03 | 282.678 |
290 | 175.603 | 184.721 |
291 | 132.073 | 151.909 |
292 | 153.63 | 163.724 |
293 | 197.855 | 189.722 |
294 | 163.648 | 174.14 |
295 | 164.814 | 175.868 |
296 | 154.483 | 167.404 |
297 | 133.07 | 154.653 |
298 | 149.752 | 171.107 |
299 | 104.473 | 147.93 |
300 | 171.225 | 181.049 |
301 | 180.847 | 177.318 |
302 | 272.409 | 221.816 |
303 | 366.843 | 359.233 |
304 | 158.433 | 182.591 |
305 | 362.716 | 374.974 |
306 | 156.696 | 160.69 |
307 | 155.832 | 181.332 |
308 | 149.198 | 167.137 |
309 | 199.342 | 204.835 |
310 | 292.632 | 245.361 |
311 | 249.889 | 235.135 |
312 | 218.412 | 191.635 |
313 | 379.312 | 300.221 |
314 | 343.307 | 339.764 |
315 | 237.837 | 244.044 |
316 | 219.712 | 199.064 |
317 | 156.26 | 167.727 |
318 | 201.643 | 192.193 |
319 | 210.734 | 202.723 |
320 | 216.393 | 189.896 |
321 | 105.835 | 135.535 |
322 | 201.46 | 208.69 |
323 | 200.526 | 204.441 |
324 | 175.779 | 179.608 |
325 | 264.256 | 239.12 |
326 | 230.487 | 209.829 |
327 | 104.59 | 139.943 |
328 | 150.039 | 167.562 |
329 | 86.1573 | 124.311 |
330 | 226.496 | 206.503 |
331 | 202.647 | 189.702 |
332 | 241.269 | 249.464 |
333 | 221.387 | 220.999 |
334 | 146.857 | 143.437 |
335 | 164.959 | 187.103 |
336 | 124.556 | 148.556 |
337 | 221.387 | 190.777 |
338 | 235.424 | 239.391 |
339 | 193.101 | 192.934 |
340 | 99.3027 | 135.965 |
341 | 366.257 | 299.237 |
342 | 235.22 | 211.99 |
343 | 167.388 | 171.347 |
344 | 222.238 | 209.202 |
345 | 127.283 | 141.278 |
346 | 193.597 | 176.522 |
347 | 170.595 | 169.608 |
348 | 308.615 | 222.667 |
349 | 137.052 | 145.39 |
350 | 205.259 | 212.326 |
351 | 225.886 | 197.34 |
352 | 179.529 | 161.286 |
353 | 392.62 | 357.577 |
354 | 98.1927 | 139.842 |
355 | 98.2165 | 134.61 |
356 | 195.191 | 173.339 |
357 | 198.863 | 221.298 |
358 | 255.598 | 270.988 |
359 | 260.432 | 234.839 |
360 | 134.514 | 132.722 |
361 | 185.01 | 187.266 |
362 | 376.66 | 271.686 |
363 | 172.034 | 161.073 |
364 | 230.016 | 226.123 |
365 | 334.721 | 305.526 |
366 | 151.964 | 161.364 |
367 | 221.138 | 226.894 |
368 | 223.217 | 213.94 |
369 | 213.728 | 205.629 |
370 | 248.099 | 217.506 |
371 | 179.399 | 191.365 |
372 | 255.285 | 221.371 |
373 | 164.291 | 177.951 |
374 | 159.582 | 182.487 |
375 | 231.731 | 200.136 |
376 | 559.389 | 367.002 |
377 | 261.792 | 225.7 |
378 | 167.075 | 176.686 |
379 | 137.119 | 161.942 |
380 | 152.553 | 177.476 |
381 | 182.506 | 179.292 |
382 | 256.481 | 228.606 |
383 | 192.162 | 187.535 |
384 | 336.775 | 313.485 |
385 | 145.195 | 160.271 |
386 | 231.117 | 235.07 |
387 | 139.978 | 150.598 |
388 | 119.694 | 147.677 |
389 | 173.208 | 179.512 |
390 | 208.596 | 225.377 |
391 | 346.703 | 245.34 |
392 | 196.382 | 183.56 |
393 | 157.897 | 179.936 |
394 | 151.918 | 162.999 |
395 | 125.51 | 146.68 |
396 | 142.155 | 159.27 |
397 | 235.898 | 222.05 |
398 | 140.245 | 162.762 |
399 | 139.997 | 161.157 |
400 | 264.032 | 231.165 |
401 | 133.482 | 139.771 |
402 | 100.149 | 127.521 |
403 | 161.728 | 169.771 |
404 | 130.334 | 153.804 |
405 | 233.728 | 205.345 |
406 | 139.17 | 149.311 |
407 | 180.274 | 166.928 |
408 | 97.0107 | 127.121 |
409 | 146.104 | 169.578 |
410 | 99.9699 | 123.347 |
411 | 207.915 | 207.482 |
412 | 174.38 | 164.77 |
413 | 280.434 | 235.544 |
414 | 198.226 | 209.658 |
415 | 197.222 | 187.673 |
416 | 199.213 | 212.722 |
417 | 157.423 | 180.979 |
418 | 280.901 | 244.904 |
419 | 229.621 | 206.424 |
420 | 84.0301 | 116.933 |
421 | 205.08 | 190.505 |
422 | 217.465 | 210.063 |
423 | 185.576 | 171.244 |
424 | 193.404 | 190.233 |
425 | 233.815 | 215.404 |
426 | 152.608 | 158.551 |
427 | 153.463 | 177.096 |
428 | 191.482 | 178.981 |
429 | 167.723 | 190.989 |
430 | 237.305 | 212.316 |
431 | 126.012 | 168.884 |
432 | 203.794 | 200.476 |
433 | 138.499 | 166.996 |
434 | 100.997 | 141.616 |
435 | 214.819 | 214.031 |
436 | 194.918 | 178.747 |
437 | 133.557 | 144.474 |
438 | 222.379 | 218.752 |
439 | 168.032 | 176.541 |
440 | 183.473 | 194.494 |
441 | 188.182 | 187.297 |
442 | 383.185 | 293.164 |
443 | 202.801 | 205.403 |
444 | 80.6253 | 114.423 |
.
ID | Rarity score | Rarity score normed |
---|---|---|
445 | 88.7382 | 89.4448 |
446 | 91.1695 | 103.363 |
447 | 84.6287 | 89.3171 |
448 | 103.954 | 98.2651 |
449 | 105.469 | 95.0268 |
450 | 92.7293 | 94.3281 |
451 | 170.066 | 125.37 |
452 | 75.13 | 75.6959 |
453 | 158.36 | 174.037 |
454 | 80.201 | 78.7171 |
455 | 102.809 | 100.383 |
456 | 102.816 | 108.983 |
457 | 99.5069 | 107.276 |
458 | 86.2824 | 94.9616 |
459 | 92.93 | 85.7772 |
460 | 86.0879 | 85.5294 |
461 | 91.7735 | 88.2966 |
462 | 100.105 | 87.8788 |
463 | 103.191 | 108.596 |
464 | 65.19 | 69.5572 |
465 | 73.5338 | 80.6398 |
466 | 100.664 | 91.2056 |
467 | 72.9364 | 80.8628 |
468 | 93.4884 | 96.3822 |
469 | 76.5196 | 79.2376 |
470 | 140.506 | 121.431 |
471 | 87.9039 | 91.9828 |
472 | 81.0369 | 76.0774 |
473 | 102.086 | 104.745 |
474 | 109.676 | 111.789 |
475 | 104.205 | 108.229 |
476 | 91.29 | 98.0372 |
477 | 101.583 | 103.135 |
478 | 93.9168 | 114.414 |
479 | 87.0614 | 83.4495 |
480 | 70.1289 | 77.5455 |
481 | 82.7978 | 80.1894 |
482 | 100.757 | 105.673 |
483 | 87.1185 | 80.7658 |
484 | 97.0204 | 106.101 |
485 | 85.8483 | 101.218 |
486 | 104.472 | 106.896 |
487 | 83.1008 | 86.9562 |
488 | 95.2056 | 98.0327 |
489 | 74.8739 | 73.1761 |
490 | 96.0392 | 100.87 |
491 | 66.8516 | 65.5681 |
492 | 90.5793 | 90.9322 |
493 | 99.6345 | 97.7229 |
494 | 79.6748 | 80.5403 |
495 | 86.5499 | 93.7481 |
496 | 111.406 | 100.615 |
497 | 86.28 | 88.7345 |
498 | 76.1288 | 85.4451 |
499 | 78.5049 | 76.3874 |
500 | 97.1431 | 100.938 |
501 | 80.7342 | 76.6336 |
502 | 131.407 | 121.712 |
503 | 86.5965 | 85.9045 |
504 | 113.147 | 103.303 |
505 | 97.0821 | 84.5244 |
506 | 88.9418 | 90.9196 |
507 | 97.7652 | 103.755 |
508 | 83.4049 | 77.017 |
509 | 80.0148 | 74.45 |
510 | 86.7534 | 91.5008 |
511 | 119.542 | 98.8713 |
512 | 82.5136 | 87.4627 |
513 | 101.396 | 98.2889 |
514 | 139.52 | 121.129 |
515 | 91.5712 | 91.1801 |
516 | 87.0906 | 79.4599 |
517 | 113.717 | 111.876 |
518 | 93.3217 | 102.2 |
519 | 72.0995 | 82.8856 |
520 | 86.6776 | 94.4294 |
521 | 117.834 | 111.466 |
522 | 87.3126 | 94.9822 |
523 | 106.622 | 99.7926 |
524 | 76.4388 | 81.6508 |
525 | 111.569 | 109.453 |
526 | 114.528 | 104.683 |
527 | 108.005 | 96.806 |
528 | 80.947 | 80.8478 |
529 | 103.671 | 103.093 |
530 | 91.812 | 101.407 |
531 | 95.3573 | 102.966 |
532 | 107.136 | 107.324 |
533 | 85.242 | 88.2602 |
534 | 91.3676 | 95.3341 |
535 | 167.977 | 190.694 |
536 | 85.085 | 91.4349 |
537 | 106.866 | 112.501 |
538 | 121.947 | 103.976 |
539 | 98.099 | 96.9473 |
540 | 71.187 | 81.2732 |
541 | 94.9479 | 93.1589 |
542 | 79.9524 | 94.6377 |
543 | 104.704 | 106.658 |
544 | 129.196 | 98.2358 |
545 | 99.6018 | 92.4581 |
546 | 86.0013 | 92.1471 |
547 | 89.9252 | 94.9578 |
548 | 98.1677 | 103.274 |
549 | 87.7533 | 89.2955 |
550 | 100.261 | 96.7938 |
551 | 91.4578 | 91.8226 |
552 | 70.7186 | 83.8318 |
553 | 87.304 | 93.6334 |
554 | 87.6715 | 79.6327 |
555 | 118.799 | 114.257 |
556 | 90.2759 | 88.1299 |
557 | 91.8902 | 87.5688 |
558 | 95.8737 | 88.2 |
559 | 94.4337 | 87.4189 |
560 | 131.345 | 107.233 |
561 | 85.7159 | 92.5378 |
562 | 72.9975 | 85.7762 |
563 | 82.5082 | 92.6005 |
564 | 78.101 | 79.268 |
565 | 83.7132 | 78.3174 |
566 | 77.6903 | 87.9227 |
567 | 116.043 | 107.887 |
568 | 94.8589 | 107.319 |
569 | 74.9034 | 73.641 |
570 | 98.0472 | 90.9222 |
571 | 81.3128 | 97.8925 |
572 | 87.4547 | 89.9242 |
573 | 100.631 | 102.349 |
574 | 77.1959 | 84.5949 |
575 | 98.5794 | 97.7767 |
576 | 69.8109 | 84.2284 |
577 | 73.4269 | 79.9404 |
578 | 89.0665 | 96.6498 |
579 | 119.781 | 123.798 |
580 | 101.899 | 97.6209 |
581 | 95.4915 | 100.673 |
582 | 72.256 | 75.8959 |
583 | 125.567 | 126.391 |
584 | 88.5887 | 89.1434 |
585 | 77.4669 | 84.9508 |
586 | 106.206 | 94.6345 |
587 | 74.7105 | 74.9067 |
588 | 84.9705 | 87.0756 |
589 | 94.3976 | 97.0848 |
590 | 86.3293 | 84.4356 |
591 | 114.238 | 103.703 |
592 | 98.6306 | 97.403 |
593 | 155.327 | 143.885 |
594 | 80.3951 | 88.561 |
595 | 65.1156 | 72.6804 |
596 | 92.2194 | 103.136 |
597 | 100.703 | 96.5781 |
598 | 80.4208 | 81.9298 |
599 | 106.475 | 102.445 |
600 | 91.4406 | 92.3301 |
601 | 93.4247 | 103.72 |
602 | 83.603 | 87.8776 |
603 | 96.9988 | 95.2482 |
604 | 114.986 | 110.428 |
605 | 89.0757 | 83.6265 |
606 | 87.6199 | 90.8319 |
607 | 81.6128 | 85.3529 |
608 | 109.029 | 101.328 |
609 | 72.8022 | 87.6728 |
610 | 54.5988 | 62.4438 |
611 | 96.0458 | 104.573 |
612 | 102.574 | 111.162 |
613 | 89.9813 | 88.5188 |
614 | 85.2893 | 81.7251 |
615 | 125.283 | 122.631 |
616 | 71.1194 | 73.8294 |
617 | 88.3281 | 90.4936 |
618 | 93.0955 | 91.3773 |
619 | 103.911 | 104.436 |
620 | 72.705 | 78.8462 |
621 | 124.968 | 99.949 |
622 | 85.8429 | 83.0371 |
623 | 66.2674 | 73.4099 |
624 | 104.683 | 108.408 |
625 | 119.663 | 113.775 |
626 | 87.2144 | 91.4628 |
627 | 87.3403 | 85.2343 |
628 | 108.915 | 113.399 |
629 | 106.674 | 103.384 |
630 | 73.6831 | 70.8138 |
631 | 111.128 | 111.08 |
632 | 97.8172 | 103.241 |
633 | 63.6199 | 70.9312 |
634 | 99.4904 | 92.1495 |
635 | 84.4711 | 78.1947 |
636 | 98.6751 | 108.031 |
637 | 94.5775 | 84.7038 |
638 | 96.9083 | 92.4088 |
639 | 105.486 | 90.4673 |
640 | 185.854 | 139.1 |
641 | 74.9173 | 77.7004 |
642 | 85.5695 | 79.907 |
643 | 106.041 | 109.72 |
644 | 99.2063 | 93.3464 |
645 | 79.565 | 82.4009 |
646 | 67.2606 | 78.5408 |
647 | 96.9997 | 97.6966 |
648 | 96.9766 | 100.388 |
649 | 201.259 | 169.166 |
650 | 96.2261 | 83.8647 |
651 | 101.059 | 95.9756 |
652 | 105.189 | 98.1605 |
653 | 85.4734 | 91.7408 |
654 | 92.9531 | 87.9105 |
655 | 62.4234 | 67.7299 |
656 | 92.8776 | 89.3775 |
657 | 103.62 | 120.862 |
658 | 97.6169 | 101.624 |
659 | 64.7381 | 78.4736 |
660 | 71.1739 | 82.3919 |
661 | 76.7088 | 80.2295 |
662 | 84.8958 | 84.9072 |
663 | 64.4959 | 67.2649 |
664 | 95.9997 | 91.3301 |
665 | 97.0991 | 100.045 |
666 | 77.2735 | 75.2174 |
667 | 108.732 | 114.475 |
668 | 91.5514 | 97.6857 |
669 | 113.623 | 117.696 |
670 | 97.9555 | 97.8667 |
671 | 95.6334 | 103 |
672 | 79.857 | 76.4769 |
673 | 81.2536 | 75.4332 |
674 | 83.0366 | 90.3836 |
675 | 91.997 | 91.1244 |
676 | 92.7878 | 85.9489 |
677 | 90.2641 | 88.5669 |
678 | 115.296 | 109.57 |
679 | 72.9073 | 75.3511 |
680 | 86.3853 | 96.1902 |
681 | 86.2669 | 87.6688 |
682 | 73.5897 | 80.7524 |
683 | 104.194 | 98.7923 |
684 | 84.4782 | 85.0167 |
685 | 87.3713 | 78.7324 |
686 | 93.7524 | 96.5608 |
687 | 91.4867 | 89.0043 |
688 | 99.4823 | 107.289 |
689 | 102.841 | 100.583 |
690 | 99.5541 | 95.6493 |
691 | 105.517 | 106.837 |
692 | 112.829 | 109.675 |
693 | 75.5449 | 86.3453 |
694 | 79.1766 | 79.6428 |
695 | 95.4953 | 88.8557 |
696 | 87.1638 | 83.1406 |
697 | 87.8963 | 87.1969 |
698 | 83.0215 | 89.8573 |
699 | 99.1966 | 95.9994 |
700 | 99.6008 | 108.58 |
701 | 70.9328 | 78.1105 |
702 | 100.378 | 102.365 |
703 | 91.7448 | 90.4289 |
704 | 105.323 | 97.5106 |
705 | 74.1652 | 83.1956 |
706 | 98.2586 | 111.019 |
707 | 94.3102 | 86.7108 |
708 | 90.5094 | 82.5753 |
709 | 102.668 | 103.106 |
710 | 149.519 | 115.637 |
711 | 84.1213 | 86.318 |
712 | 108.641 | 104.862 |
713 | 86.1724 | 88.6434 |
714 | 87.6042 | 90.4363 |
715 | 152.174 | 115.977 |
716 | 105.533 | 102.704 |
717 | 91.9383 | 91.9124 |
718 | 92.262 | 95.246 |
719 | 140.72 | 119.923 |
720 | 84.2676 | 79.6404 |
721 | 58.1562 | 69.9218 |
722 | 144.437 | 120.375 |
723 | 79.1226 | 89.3077 |
724 | 94.3015 | 91.3604 |
725 | 97.4918 | 90.6021 |
726 | 80.887 | 89.742 |
727 | 79.3007 | 74.325 |
728 | 90.4167 | 100.077 |
729 | 84.3285 | 76.7729 |
730 | 97.0046 | 101.108 |
731 | 85.4963 | 89.4813 |
732 | 124.069 | 115.193 |
733 | 86.3745 | 104.901 |
734 | 75.0906 | 84.9182 |
735 | 100 | 106.249 |
736 | 106.958 | 116.25 |
737 | 94.3742 | 101.031 |
738 | 150.221 | 112.462 |
739 | 146.017 | 125.725 |
740 | 90.5653 | 96.5693 |
741 | 68.9918 | 75.3617 |
742 | 150.087 | 165.821 |
743 | 68.2122 | 67.8002 |
744 | 66.7165 | 75.8504 |
745 | 84.018 | 78.1737 |
746 | 80.7776 | 91.2745 |
747 | 98.5079 | 99.4357 |
748 | 81.6251 | 85.4611 |
749 | 79.6713 | 91.9956 |
750 | 66.8425 | 79.0441 |
751 | 158.842 | 172.798 |
752 | 106.429 | 105.569 |
753 | 96.7473 | 93.0677 |
754 | 94.9078 | 100.326 |
755 | 92.0702 | 91.6828 |
756 | 82.4982 | 79.6522 |
757 | 72.7836 | 81.1088 |
758 | 138.591 | 115.184 |
759 | 115.827 | 116.793 |
760 | 100.317 | 105.814 |
761 | 62.7325 | 70.7037 |
762 | 96.8444 | 97.2826 |
763 | 98.7228 | 96.769 |
764 | 80.066 | 86.7236 |
765 | 85.4323 | 88.4394 |
766 | 88.1826 | 86.8901 |
767 | 94.9723 | 99.9691 |
768 | 99.9229 | 99.7547 |
769 | 99.1666 | 92.1488 |
770 | 77.3357 | 88.0563 |
771 | 85.0129 | 85.4978 |
772 | 72.4876 | 74.1625 |
773 | 114.564 | 99.0975 |
774 | 98.3174 | 96.2079 |
775 | 104.634 | 102.297 |
776 | 176.887 | 139.194 |
777 | 81.7602 | 80.6518 |
.
Top 3 rare aliens for both calculations are drastically different.
Rarity Score (top 3) | Rarity Score Normalized (top 3) |
---|---|
Space Alien #376 | Space Alien #535 |
Space Alien #228 | Space Alien #453 |
Space Alien #206 | Space Alien #751 |
Be careful using this rarity list since combining 2 different generations of traits can be error-prone.
A discord user @dh_
did their own computation and pointed out that my combined set rarity scores don’t match their own.
For example: Space Alien #376
has Eyes: Alien Red
this attribute should show up as follows:
However, in my combined rarity list below Alien Red
is computed as 24/777*100=3.09%
instead of 39/777*100=5.02%
.
Why? Considering that most of the attributes between the 2 generations are different ( even if they use the same value e.g. Alien Red
) and based on feedback from Space Alien team, I believe the 2 sets of metadata can not be combined.
For Space Alien project, I believe Rarity Score Normalized
means a better weight/distribution of scores.
Furthermore, I would also consider Rarity Score
to be less useful for this specific project.
The decision always falls on you as the person looking at rarity scores. As usual, buy art you like ;)
Alien # | Rarity Score | Rarity Score Normalized |
---|---|---|
1 | 371.022 | 265.784 |
2 | 356.84 | 270.877 |
3 | 512.743 | 382.532 |
4 | 216.571 | 201.014 |
5 | 261.729 | 237.187 |
6 | 240.767 | 244.854 |
7 | 281.535 | 231.885 |
8 | 155.242 | 171.317 |
9 | 315.728 | 281.138 |
10 | 461.224 | 341.984 |
11 | 335.35 | 279.595 |
12 | 497.434 | 420.085 |
13 | 319.319 | 250.925 |
14 | 308.688 | 275.213 |
15 | 363.339 | 277.354 |
16 | 427.772 | 312.154 |
17 | 345.239 | 251.934 |
18 | 222.836 | 201.049 |
19 | 591.942 | 413.495 |
20 | 363.731 | 287.715 |
21 | 566.735 | 423.141 |
22 | 336.056 | 272.264 |
23 | 374.764 | 273.669 |
24 | 223.457 | 208.068 |
25 | 564.547 | 424.122 |
26 | 242.237 | 205.754 |
27 | 270.092 | 224.063 |
28 | 229.949 | 244.452 |
29 | 223.576 | 212.311 |
30 | 339.797 | 273.038 |
31 | 299.302 | 265.246 |
32 | 373.686 | 275.893 |
33 | 302.652 | 248.781 |
34 | 335.629 | 253.353 |
35 | 384.794 | 301.796 |
36 | 419.106 | 335.524 |
37 | 282.732 | 239.836 |
38 | 256.536 | 224.777 |
39 | 327.31 | 257.539 |
40 | 294.187 | 247.411 |
41 | 470.965 | 320.351 |
42 | 221.516 | 219.009 |
43 | 480.046 | 329.531 |
44 | 281.208 | 257.578 |
45 | 344.872 | 282.207 |
46 | 381.011 | 296.574 |
47 | 373.067 | 291.717 |
48 | 435.489 | 293.575 |
49 | 302.592 | 286.273 |
50 | 297.189 | 301.67 |
51 | 245.418 | 206.56 |
52 | 284.561 | 245.41 |
53 | 457.349 | 347.173 |
54 | 380.084 | 279.094 |
55 | 174.801 | 194.974 |
56 | 255.16 | 244.052 |
57 | 187.457 | 185.414 |
58 | 349.761 | 273.771 |
59 | 359.293 | 282.786 |
60 | 185.019 | 185.836 |
61 | 351.809 | 299.054 |
62 | 259.384 | 248.402 |
63 | 269.272 | 250.356 |
64 | 263.542 | 218.93 |
65 | 455.823 | 328.411 |
66 | 496.374 | 342.855 |
67 | 351.552 | 256.266 |
68 | 209.025 | 213.504 |
69 | 204.004 | 203.267 |
70 | 630.007 | 371.763 |
71 | 229.059 | 234.704 |
72 | 259.421 | 231.88 |
73 | 359.114 | 278.645 |
74 | 243.328 | 227.811 |
75 | 204.373 | 223.53 |
76 | 276.484 | 240.889 |
77 | 473.551 | 343.718 |
78 | 266.86 | 244.954 |
79 | 278.766 | 238.181 |
80 | 369.591 | 307.036 |
81 | 360.615 | 265.15 |
82 | 286.379 | 237.939 |
83 | 203.001 | 204.159 |
84 | 386.772 | 284.932 |
85 | 305.15 | 258.557 |
86 | 175.221 | 177.397 |
87 | 278.719 | 231.236 |
88 | 413.567 | 313.478 |
89 | 439.726 | 305.335 |
90 | 349.845 | 303.359 |
91 | 372.954 | 296.324 |
92 | 314.835 | 249.666 |
93 | 403.708 | 291.41 |
94 | 195.846 | 204.168 |
95 | 216.092 | 217.528 |
96 | 384.523 | 271.602 |
97 | 341.628 | 281.864 |
98 | 338.115 | 297.228 |
99 | 286.221 | 255.72 |
100 | 350.286 | 324.838 |
101 | 391.04 | 296.261 |
102 | 353.833 | 288.594 |
103 | 586.86 | 392.562 |
104 | 282.436 | 235.243 |
105 | 303.134 | 252.713 |
106 | 306.252 | 246.936 |
107 | 329.827 | 258.776 |
108 | 368.776 | 298.716 |
109 | 422.523 | 345.5 |
110 | 396.063 | 317.998 |
111 | 435.679 | 321.443 |
112 | 279.666 | 225.642 |
113 | 314.289 | 258.457 |
114 | 290.592 | 255.234 |
115 | 235.681 | 227.934 |
116 | 516.943 | 322.293 |
117 | 392.7 | 336.733 |
118 | 364.086 | 306.598 |
119 | 180.227 | 187.266 |
120 | 315.242 | 261.899 |
121 | 377.233 | 284.121 |
122 | 433.883 | 345.681 |
123 | 608.177 | 408.955 |
124 | 592.019 | 442.886 |
125 | 296.078 | 251.418 |
126 | 558.816 | 373.135 |
127 | 317.456 | 276.375 |
128 | 383.992 | 265.105 |
129 | 337.526 | 285.169 |
130 | 266.092 | 235.959 |
131 | 252.288 | 210.673 |
132 | 369.301 | 276.868 |
133 | 225.767 | 202.679 |
134 | 409.693 | 310.114 |
135 | 340.722 | 276.875 |
136 | 234.131 | 225.549 |
137 | 228.002 | 198.139 |
138 | 416.412 | 293.728 |
139 | 294.127 | 247.887 |
140 | 280.318 | 225.115 |
141 | 209.886 | 223.993 |
142 | 252.02 | 246.617 |
143 | 324.094 | 269.259 |
144 | 471.694 | 332.248 |
145 | 233.545 | 211.843 |
146 | 303.578 | 243.877 |
147 | 221.461 | 211.447 |
148 | 369.225 | 279.863 |
149 | 269.309 | 227.135 |
150 | 357.94 | 288.38 |
151 | 545.479 | 368.916 |
152 | 568.038 | 451.588 |
153 | 405.503 | 304.095 |
154 | 270.912 | 219.794 |
155 | 401.148 | 308.671 |
156 | 184.989 | 201.379 |
157 | 415.819 | 300.703 |
158 | 281.488 | 241.644 |
159 | 342.042 | 280.225 |
160 | 309.35 | 246.456 |
161 | 377.475 | 287.627 |
162 | 296.15 | 256.178 |
163 | 167.05 | 180.385 |
164 | 238.459 | 222.691 |
165 | 383.453 | 295.221 |
166 | 250.007 | 205.08 |
167 | 241.284 | 241.041 |
168 | 301.602 | 247.695 |
169 | 251.298 | 219.147 |
170 | 388.161 | 302.874 |
171 | 292.421 | 243.513 |
172 | 308.064 | 260.025 |
173 | 426.709 | 295.353 |
174 | 205.62 | 221.769 |
175 | 336.026 | 282.209 |
176 | 714.508 | 423.081 |
177 | 348.839 | 258.063 |
178 | 272.316 | 230.708 |
179 | 460.957 | 358.016 |
180 | 408.087 | 307.197 |
181 | 302.22 | 256.936 |
182 | 250.238 | 244.52 |
183 | 346.046 | 259.365 |
184 | 170.111 | 185.475 |
185 | 246.781 | 236.349 |
186 | 356.094 | 265.238 |
187 | 220.852 | 219.155 |
188 | 405.95 | 343.955 |
189 | 209.459 | 181.638 |
190 | 312.535 | 233.691 |
191 | 458.508 | 314.318 |
192 | 247.85 | 223.847 |
193 | 562.026 | 334.524 |
194 | 366.351 | 287.971 |
195 | 481.166 | 334.015 |
196 | 326.73 | 244.7 |
197 | 340.155 | 302.247 |
198 | 351.523 | 273.701 |
199 | 249.3 | 211.096 |
200 | 274.809 | 238.515 |
201 | 246.008 | 250.981 |
202 | 350.02 | 269.934 |
203 | 419.386 | 326.778 |
204 | 361.074 | 267.801 |
205 | 300.563 | 256.481 |
206 | 727.96 | 474.119 |
207 | 416.656 | 303.689 |
208 | 181.305 | 189.226 |
209 | 307.082 | 228.985 |
210 | 213.645 | 208.653 |
211 | 514.631 | 347.757 |
212 | 268.711 | 232.298 |
213 | 240.935 | 255.056 |
214 | 389.518 | 323.238 |
215 | 322.952 | 252.932 |
216 | 307.016 | 259.658 |
217 | 212.543 | 209.554 |
218 | 279.737 | 246.656 |
219 | 392.149 | 308.947 |
220 | 359.853 | 273.486 |
221 | 442.459 | 300.344 |
222 | 266.996 | 229.039 |
223 | 440.707 | 315.141 |
224 | 358.976 | 326.479 |
225 | 441.791 | 288.741 |
226 | 313.098 | 241.381 |
227 | 253.91 | 219.561 |
228 | 770.177 | 560.355 |
229 | 475.104 | 373.886 |
230 | 325.869 | 247.235 |
231 | 384.217 | 303.46 |
232 | 407.001 | 319.726 |
233 | 217.954 | 209.644 |
234 | 253.188 | 234.95 |
235 | 614.685 | 409.585 |
236 | 304.01 | 257.42 |
237 | 303.564 | 263.138 |
238 | 200.484 | 201.665 |
239 | 204.464 | 183.198 |
240 | 300.545 | 262.383 |
241 | 245.431 | 237.617 |
242 | 427.14 | 353.409 |
243 | 255.557 | 222.837 |
244 | 377.648 | 276.417 |
245 | 247.828 | 244.749 |
246 | 429.292 | 298.505 |
247 | 253.079 | 217.313 |
248 | 318.428 | 253.344 |
249 | 436.126 | 363.943 |
250 | 285.384 | 234.119 |
251 | 378.267 | 282.591 |
252 | 252.964 | 245.602 |
253 | 335.468 | 263.02 |
254 | 236.614 | 220.894 |
255 | 219.71 | 232.053 |
256 | 348 | 258.133 |
257 | 248.073 | 228.75 |
258 | 444.779 | 297.167 |
259 | 265.409 | 241.723 |
260 | 432.851 | 312.028 |
261 | 394.763 | 274.759 |
262 | 261.142 | 224.527 |
263 | 240.317 | 206.268 |
264 | 221.152 | 223.075 |
265 | 261.241 | 239.049 |
266 | 341.527 | 255.798 |
267 | 498.005 | 357.384 |
268 | 466.704 | 312.21 |
269 | 282.16 | 248.118 |
270 | 221.435 | 195.283 |
271 | 348.605 | 270.789 |
272 | 301.3 | 266.157 |
273 | 350.898 | 274.342 |
274 | 331.234 | 285.212 |
275 | 490.45 | 393.432 |
276 | 321.263 | 266.147 |
277 | 374.146 | 274.393 |
278 | 226.661 | 214.622 |
279 | 654.113 | 435.788 |
280 | 282.297 | 258.092 |
281 | 167.642 | 193.064 |
282 | 359.304 | 272.581 |
283 | 365.996 | 280.312 |
284 | 435.038 | 332.691 |
285 | 376.833 | 286.302 |
286 | 476.803 | 320.105 |
287 | 279.544 | 247.426 |
288 | 235.883 | 215.393 |
289 | 688.802 | 409.176 |
290 | 320.556 | 268.133 |
291 | 244.378 | 221.749 |
292 | 282.103 | 239.105 |
293 | 359.496 | 275.972 |
294 | 299.634 | 253.227 |
295 | 301.674 | 255.626 |
296 | 283.596 | 244.389 |
297 | 246.123 | 226.05 |
298 | 275.316 | 249.409 |
299 | 196.078 | 215.151 |
300 | 312.893 | 263.505 |
301 | 329.731 | 258.431 |
302 | 489.966 | 323.106 |
303 | 655.226 | 512.651 |
304 | 290.508 | 265.076 |
305 | 648.003 | 533.673 |
306 | 287.469 | 235.019 |
307 | 285.956 | 262.823 |
308 | 274.347 | 243.685 |
309 | 362.099 | 296.225 |
310 | 525.356 | 355.532 |
311 | 450.557 | 339.796 |
312 | 395.47 | 279.46 |
313 | 677.045 | 433.244 |
314 | 614.037 | 486.41 |
315 | 429.464 | 351.646 |
316 | 397.746 | 289.579 |
317 | 286.705 | 245.029 |
318 | 366.125 | 279.353 |
319 | 382.034 | 294.359 |
320 | 391.938 | 276.886 |
321 | 198.461 | 199.164 |
322 | 365.805 | 302.108 |
323 | 364.171 | 295.465 |
324 | 320.864 | 261.565 |
325 | 475.698 | 345.471 |
326 | 416.602 | 304.945 |
327 | 196.283 | 204.879 |
328 | 275.819 | 244.31 |
329 | 164.025 | 182.913 |
330 | 409.619 | 300.368 |
331 | 367.881 | 276.204 |
332 | 435.471 | 357.944 |
333 | 400.678 | 318.82 |
334 | 270.25 | 211.838 |
335 | 301.928 | 271.065 |
336 | 231.224 | 217.614 |
337 | 400.677 | 279.105 |
338 | 425.243 | 344.881 |
339 | 351.177 | 280.74 |
340 | 187.03 | 199.254 |
341 | 654.199 | 431.299 |
342 | 424.885 | 307.208 |
343 | 306.179 | 249.605 |
344 | 402.167 | 302.695 |
345 | 235.995 | 208.367 |
346 | 352.045 | 258.108 |
347 | 311.791 | 247.759 |
348 | 553.326 | 325.157 |
349 | 253.09 | 213.839 |
350 | 372.454 | 306.4 |
351 | 408.551 | 287.319 |
352 | 327.426 | 237.289 |
353 | 700.335 | 512.997 |
354 | 185.087 | 204.101 |
355 | 185.129 | 197.351 |
356 | 354.834 | 253.846 |
357 | 361.261 | 318.536 |
358 | 460.546 | 388.464 |
359 | 469.007 | 338.938 |
360 | 248.65 | 196.757 |
361 | 337.018 | 272.539 |
362 | 672.404 | 393.657 |
363 | 314.31 | 236.026 |
364 | 415.778 | 327.209 |
365 | 599.011 | 439.478 |
366 | 279.187 | 236.297 |
367 | 400.241 | 326.689 |
368 | 403.88 | 309.43 |
369 | 387.273 | 298.555 |
370 | 447.423 | 315.89 |
371 | 327.199 | 276.9 |
372 | 459.998 | 321.109 |
373 | 300.759 | 259.301 |
374 | 292.518 | 264.296 |
375 | 418.778 | 291.589 |
376 | 992.18 | 529.101 |
377 | 471.385 | 328.111 |
378 | 305.631 | 256.596 |
379 | 253.209 | 235.571 |
380 | 280.217 | 257.613 |
381 | 332.636 | 260.998 |
382 | 462.092 | 330.786 |
383 | 349.533 | 272.908 |
384 | 602.606 | 449.229 |
385 | 267.342 | 233.978 |
386 | 417.704 | 338.778 |
387 | 258.211 | 221.133 |
388 | 222.714 | 215.933 |
389 | 316.364 | 261.775 |
390 | 378.292 | 324.563 |
391 | 619.979 | 357.339 |
392 | 356.918 | 267.488 |
393 | 289.57 | 261.267 |
394 | 279.107 | 238.74 |
395 | 232.893 | 214.504 |
396 | 262.022 | 232.458 |
397 | 426.072 | 321.162 |
398 | 258.679 | 237.2 |
399 | 258.245 | 235.166 |
400 | 475.306 | 333.914 |
401 | 246.843 | 206.771 |
402 | 188.511 | 188.359 |
403 | 296.274 | 247.21 |
404 | 241.335 | 224.974 |
405 | 422.273 | 298.715 |
406 | 256.797 | 218.645 |
407 | 328.73 | 245.159 |
408 | 183.019 | 187.754 |
409 | 268.931 | 246.16 |
410 | 188.197 | 183.195 |
411 | 377.101 | 300.045 |
412 | 318.415 | 241.631 |
413 | 504.009 | 341.591 |
414 | 360.146 | 303.262 |
415 | 358.389 | 273.412 |
416 | 361.873 | 306.816 |
417 | 288.74 | 262.234 |
418 | 504.827 | 353.879 |
419 | 415.086 | 300.003 |
420 | 160.303 | 173.147 |
421 | 372.14 | 277.497 |
422 | 393.814 | 304.928 |
423 | 338.007 | 250.4 |
424 | 351.707 | 276.392 |
425 | 422.427 | 311.841 |
426 | 280.313 | 232.599 |
427 | 281.81 | 257.105 |
428 | 348.343 | 261.011 |
429 | 306.765 | 275.802 |
430 | 428.534 | 308.551 |
431 | 233.772 | 244.66 |
432 | 369.889 | 290.031 |
433 | 255.623 | 242.996 |
434 | 189.994 | 206.752 |
435 | 389.183 | 309.572 |
436 | 354.357 | 261.42 |
437 | 246.975 | 212.485 |
438 | 402.413 | 315.682 |
439 | 307.306 | 256.986 |
440 | 334.327 | 281.096 |
441 | 342.569 | 271.481 |
442 | 683.824 | 422.296 |
443 | 368.152 | 297.209 |
444 | 154.344 | 169.756 |
445 | 224.389 | 311.504 |
446 | 230.062 | 356.937 |
447 | 214.8 | 311.868 |
448 | 259.892 | 343.562 |
449 | 263.427 | 335.092 |
450 | 233.702 | 328.743 |
451 | 414.154 | 449.434 |
452 | 192.637 | 264.502 |
453 | 386.839 | 607.899 |
454 | 204.469 | 275.991 |
455 | 257.22 | 352.321 |
456 | 257.238 | 379.808 |
457 | 249.516 | 373.167 |
458 | 218.659 | 329.502 |
459 | 234.17 | 301.916 |
460 | 218.205 | 298.135 |
461 | 231.471 | 309.712 |
462 | 250.911 | 309.696 |
463 | 258.113 | 376.549 |
464 | 169.443 | 242.479 |
465 | 188.912 | 279.278 |
466 | 252.215 | 321.409 |
467 | 187.518 | 281.245 |
468 | 235.473 | 335.084 |
469 | 195.879 | 275.215 |
470 | 345.18 | 429.968 |
471 | 222.443 | 319.536 |
472 | 206.419 | 265.153 |
473 | 255.535 | 364.8 |
474 | 273.243 | 389.34 |
475 | 260.478 | 376.778 |
476 | 230.343 | 340.082 |
477 | 254.359 | 361.203 |
478 | 236.473 | 394.74 |
479 | 220.477 | 290.762 |
480 | 180.967 | 269.594 |
481 | 210.528 | 281.347 |
482 | 252.432 | 367.941 |
483 | 220.61 | 283.868 |
484 | 243.714 | 368.559 |
485 | 217.646 | 350.015 |
486 | 261.102 | 372.402 |
487 | 211.235 | 301.683 |
488 | 239.48 | 340.82 |
489 | 192.039 | 256.169 |
490 | 241.425 | 350.679 |
491 | 173.32 | 228.887 |
492 | 228.685 | 318.304 |
493 | 249.814 | 342.671 |
494 | 203.241 | 279.837 |
495 | 219.283 | 325.211 |
496 | 277.28 | 352.069 |
497 | 218.653 | 308.691 |
498 | 194.967 | 295.359 |
499 | 200.512 | 267.445 |
500 | 244.001 | 351.021 |
501 | 205.713 | 269.251 |
502 | 323.95 | 426.678 |
503 | 219.392 | 300.975 |
504 | 281.342 | 361.596 |
505 | 243.858 | 298.113 |
506 | 224.864 | 315.82 |
507 | 245.452 | 361.006 |
508 | 211.945 | 270.724 |
509 | 204.034 | 261.58 |
510 | 219.758 | 317.926 |
511 | 296.265 | 350.396 |
512 | 209.865 | 303.775 |
513 | 253.924 | 343.484 |
514 | 342.881 | 425.727 |
515 | 231 | 317.513 |
516 | 220.545 | 279.193 |
517 | 282.674 | 390.964 |
518 | 235.084 | 354.506 |
519 | 185.565 | 285.985 |
520 | 219.581 | 328.355 |
521 | 292.28 | 392.305 |
522 | 221.063 | 330.16 |
523 | 266.119 | 350.933 |
524 | 195.69 | 283.07 |
525 | 277.662 | 382.412 |
526 | 284.565 | 369.415 |
527 | 269.345 | 338.802 |
528 | 206.21 | 283.016 |
529 | 259.232 | 361.594 |
530 | 231.561 | 351.664 |
531 | 239.834 | 358.132 |
532 | 267.317 | 374.298 |
533 | 216.231 | 306.499 |
534 | 230.524 | 331.957 |
535 | 409.279 | 664.856 |
536 | 215.865 | 316.922 |
537 | 266.688 | 391.756 |
538 | 301.876 | 368.064 |
539 | 246.231 | 340.72 |
540 | 183.436 | 280.652 |
541 | 238.879 | 326.417 |
542 | 203.889 | 327.123 |
543 | 261.642 | 371.938 |
544 | 318.791 | 348.737 |
545 | 249.738 | 324.637 |
546 | 218.003 | 320.15 |
547 | 227.159 | 332.03 |
548 | 246.391 | 359.351 |
549 | 222.091 | 312.523 |
550 | 251.275 | 337.491 |
551 | 230.735 | 321.52 |
552 | 182.344 | 289.319 |
553 | 221.043 | 325.017 |
554 | 221.9 | 280.301 |
555 | 294.53 | 400.631 |
556 | 227.977 | 307.167 |
557 | 231.744 | 307.241 |
558 | 241.039 | 310.639 |
559 | 237.679 | 307.276 |
560 | 323.804 | 377.833 |
561 | 217.337 | 320.883 |
562 | 187.661 | 295.977 |
563 | 209.852 | 322.775 |
564 | 199.569 | 277.214 |
565 | 212.664 | 275.342 |
566 | 198.611 | 303.427 |
567 | 288.101 | 378.225 |
568 | 238.671 | 371.42 |
569 | 192.108 | 257.944 |
570 | 246.11 | 319.993 |
571 | 207.063 | 337.733 |
572 | 221.394 | 314.265 |
573 | 252.138 | 356.444 |
574 | 197.457 | 292.669 |
575 | 247.352 | 340.949 |
576 | 180.225 | 290.04 |
577 | 188.663 | 276.828 |
578 | 225.155 | 335.932 |
579 | 296.821 | 432.316 |
580 | 255.097 | 340.857 |
581 | 240.147 | 349.532 |
582 | 185.931 | 264.488 |
583 | 310.324 | 441.476 |
584 | 224.04 | 311.936 |
585 | 198.089 | 294.199 |
586 | 265.148 | 333.344 |
587 | 191.658 | 262.004 |
588 | 215.598 | 304.711 |
589 | 237.594 | 337.957 |
590 | 218.768 | 296.673 |
591 | 283.888 | 365.662 |
592 | 247.471 | 339.448 |
593 | 379.762 | 506.424 |
594 | 204.922 | 306.62 |
595 | 169.27 | 253.02 |
596 | 232.512 | 357.262 |
597 | 252.306 | 339.097 |
598 | 204.982 | 285.046 |
599 | 265.775 | 359.633 |
600 | 230.695 | 321.714 |
601 | 235.324 | 359.568 |
602 | 212.407 | 305.12 |
603 | 243.664 | 332.565 |
604 | 285.634 | 388.439 |
605 | 225.177 | 293.962 |
606 | 221.78 | 315.751 |
607 | 207.763 | 296.414 |
608 | 271.735 | 354.318 |
609 | 187.205 | 302.244 |
610 | 144.731 | 216.204 |
611 | 241.44 | 363.157 |
612 | 256.672 | 386.646 |
613 | 227.29 | 310.462 |
614 | 216.342 | 287.002 |
615 | 309.66 | 429.602 |
616 | 183.279 | 257.401 |
617 | 223.432 | 316.69 |
618 | 234.556 | 318.354 |
619 | 259.792 | 364.071 |
620 | 186.978 | 273.189 |
621 | 308.926 | 352.633 |
622 | 217.633 | 291.507 |
623 | 171.957 | 255.223 |
624 | 261.593 | 377.79 |
625 | 296.548 | 398.472 |
626 | 220.834 | 318.225 |
627 | 221.127 | 299.072 |
628 | 271.469 | 395.773 |
629 | 266.24 | 360.219 |
630 | 189.26 | 247.775 |
631 | 276.632 | 387.395 |
632 | 245.574 | 360.215 |
633 | 165.78 | 246.849 |
634 | 249.478 | 324.053 |
635 | 214.433 | 274.702 |
636 | 247.575 | 374.525 |
637 | 238.014 | 297.889 |
638 | 243.453 | 322.905 |
639 | 263.467 | 318.915 |
640 | 450.993 | 495.976 |
641 | 192.14 | 271.29 |
642 | 216.995 | 280.707 |
643 | 264.762 | 384.548 |
644 | 248.815 | 326.128 |
645 | 202.985 | 286.473 |
646 | 174.275 | 271.197 |
647 | 243.666 | 340.33 |
648 | 243.612 | 350.306 |
649 | 486.939 | 599.005 |
650 | 241.861 | 295.421 |
651 | 253.137 | 336.085 |
652 | 262.774 | 345.224 |
653 | 216.771 | 318.301 |
654 | 234.224 | 308.468 |
655 | 162.988 | 235.755 |
656 | 234.048 | 314.267 |
657 | 259.113 | 418.886 |
658 | 245.106 | 354.12 |
659 | 168.389 | 269.805 |
660 | 183.406 | 284.364 |
661 | 196.321 | 279.585 |
662 | 215.424 | 295.504 |
663 | 167.824 | 234.702 |
664 | 241.333 | 320.543 |
665 | 243.898 | 347.932 |
666 | 197.638 | 263.595 |
667 | 271.041 | 399.085 |
668 | 230.953 | 339.417 |
669 | 282.454 | 410.199 |
670 | 245.896 | 341.548 |
671 | 240.478 | 357.726 |
672 | 203.666 | 268.388 |
673 | 206.925 | 265.279 |
674 | 211.085 | 313.854 |
675 | 231.993 | 319.147 |
676 | 233.838 | 302.65 |
677 | 227.95 | 308.959 |
678 | 286.358 | 385.828 |
679 | 187.45 | 262.604 |
680 | 218.899 | 333.37 |
681 | 218.623 | 304.704 |
682 | 189.043 | 281.105 |
683 | 260.453 | 347.718 |
684 | 214.449 | 297.033 |
685 | 221.2 | 277.326 |
686 | 236.089 | 336.053 |
687 | 230.802 | 312.231 |
688 | 249.459 | 373.169 |
689 | 257.296 | 353.485 |
690 | 249.626 | 336.116 |
691 | 263.539 | 374.817 |
692 | 280.6 | 384.146 |
693 | 193.605 | 298.65 |
694 | 202.079 | 278.423 |
695 | 240.156 | 312.135 |
696 | 220.716 | 291.485 |
697 | 222.425 | 303.538 |
698 | 211.05 | 311.3 |
699 | 248.792 | 336.925 |
700 | 249.735 | 377.624 |
701 | 182.843 | 269.908 |
702 | 251.549 | 358.579 |
703 | 231.405 | 315.492 |
704 | 263.086 | 343.25 |
705 | 190.386 | 289.708 |
706 | 246.603 | 383.835 |
707 | 237.391 | 305.327 |
708 | 228.522 | 290.133 |
709 | 256.891 | 361.324 |
710 | 366.21 | 410.743 |
711 | 213.616 | 300.146 |
712 | 270.829 | 367.755 |
713 | 218.402 | 308.337 |
714 | 221.743 | 314.315 |
715 | 372.406 | 412.763 |
716 | 263.578 | 359.155 |
717 | 231.856 | 322.005 |
718 | 232.611 | 331.654 |
719 | 345.681 | 422.184 |
720 | 213.958 | 279.215 |
721 | 153.031 | 240.149 |
722 | 354.352 | 425.795 |
723 | 201.953 | 308.722 |
724 | 237.37 | 320.541 |
725 | 244.814 | 318.998 |
726 | 206.07 | 310.662 |
727 | 202.368 | 260.796 |
728 | 228.306 | 346.854 |
729 | 214.1 | 270.299 |
730 | 243.677 | 352.129 |
731 | 216.825 | 310.658 |
732 | 306.827 | 403.768 |
733 | 218.874 | 361.385 |
734 | 192.545 | 295.477 |
735 | 250.668 | 369.476 |
736 | 266.902 | 403.346 |
737 | 237.54 | 351.056 |
738 | 367.849 | 400.711 |
739 | 358.04 | 444.36 |
740 | 228.652 | 335.472 |
741 | 178.314 | 260.51 |
742 | 367.537 | 580.729 |
743 | 176.495 | 236.993 |
744 | 173.005 | 263.604 |
745 | 213.375 | 274.614 |
746 | 205.814 | 315.476 |
747 | 247.185 | 346.094 |
748 | 207.792 | 296.876 |
749 | 203.233 | 317.569 |
750 | 173.299 | 272.632 |
751 | 387.965 | 606.008 |
752 | 265.668 | 370.263 |
753 | 243.077 | 324.467 |
754 | 238.785 | 348.838 |
755 | 232.164 | 319.581 |
756 | 209.829 | 279.237 |
757 | 187.162 | 280.783 |
758 | 340.711 | 405.758 |
759 | 287.596 | 409.206 |
760 | 251.406 | 368.467 |
761 | 163.709 | 245.514 |
762 | 243.304 | 339.268 |
763 | 247.687 | 338.034 |
764 | 204.154 | 300.925 |
765 | 216.675 | 307.366 |
766 | 223.093 | 304.735 |
767 | 238.935 | 347.397 |
768 | 250.487 | 350.298 |
769 | 248.722 | 324.204 |
770 | 197.783 | 304.585 |
771 | 215.697 | 299.571 |
772 | 186.471 | 259.107 |
773 | 284.65 | 350.145 |
774 | 246.741 | 335.719 |
775 | 261.48 | 359.201 |
776 | 430.07 | 496.651 |
777 | 208.107 | 282.397 |
Update: 2022-07-16 As of Chia NFT to NFT does not work in Chia GUI or CLI v1.4. Below is an ideal example of how it should work based on information at the time.
A while back I saw @CassFairiesClub post an image of a neat looking Chia Ghost NFT. I really liked the Chia Ghost #453 because of the blue yellow headband that reminded me of the Ukrainian flag.
We agreed to attempt our own NFT to NFT exchange. The end goal is to see the Chia Ghost show up in my own wallet here:
Cass generated the offer via CLI and sent the resulting file to me via my personal discord and posted it on Dexie.
But wait! There is an offer already out for squiwormy #0027! What happens if the squiwormy gets sold first?
Turns out, that the first Chia offer accepted and processed on the blockchain invalidates the second Chia offer. Here’s how it looks. First I wanted to purchase squiwormy #0027 so that the Squiwormy funds get donated.
I downloaded the squiwormy #0027 offer from Dexie and accepted it via my Chia wallet.
You’ll notice in Dexie updates as soon as the blockchain says the offer is in a Pending
state.
After the blockchain finishes the process for the purchase I also need to assign the NFT to my DID profile.
This should show the NFT in any marketplace that’s showing my DID galleries. At the time of writing this, I couldn’t get squiwormy to show up in my profile. Thus, we’ll move forward with the actual swap.
So what will happen when I download the NFT to NFT offer from Dexie?
First, I downloaded the offer and placed it into my Chia wallet:
For an unknown reason, the swap did not work. I waited 2 hours the first time, cleared transactions, and attempted a second time. That failed as well. This lead me to create a new offer using Chia CLI make_offer command
#squiwormy #0027
NFT_ID_TO_SEND="nft1hskzlv496czn8h8x237nvenfj9neyeup36m5x5v9z0y2w2zy8xnq6hw5c7"
#chia ghost #435
NFT_ID_TO_REQUEST="nft1gxjslxk4k3w4fe88rps63drgg7479lmvnxpufkqzarcpjew67ldq8vpwn8"
WALLET_FINGERPRINT="388938841"
chia wallet make_offer -f $WALLET_FINGERPRINT --offer $NFT_ID_TO_SEND:1 --request $NFT_ID_TO_REQUEST:1 -p offer_1_squiwormy_x_1_chiaghost.offer
This is the output:
Creating Offer
--------------
OFFERING:
- 1 nft1hskzlv496czn8h8x237nvenfj9neyeup36m5x5v9z0y2w2zy8xnq6hw5c7 (1 mojos)
REQUESTING:
- 1 nft1gxjslxk4k3w4fe88rps63drgg7479lmvnxpufkqzarcpjew67ldq8vpwn8 (1 mojos)
Offers for NFTs will have royalties automatically added. Are you sure you would like to continue? (y/n): y
Confirm (y/n): y
Created offer with ID 0aeb9fb35ac888a563e315741d0ad0f3954f3ee8eceecdace3b7fbeda93a9b0f
After attempting to make_offer
and take_offer
several times with various NFTs, including NFTs between my own wallets, I’ve run out of things to try.
I hope one day this tweet becomes a reality.
To swap one NFT for another, you only need to know the NFT ids and nothing else. The Chia blockchain does the rest!
At the time of writing, the NFT to NFT swap is only possible via command line (CLI) and I found an example here
chia wallet make_offer -f wallet-fingerprint -o nft1u72s8payxfxljcdupr5nfqe0rjsfzqpux8z6vafjyy3ahd3vkj4sdw00ma:1 -r nft1y7aj90hvt4ypj0279jjj2m4hxr8pjjqsrcjfrj6a670t36wq7xxsnnje9f:1 -p offerfile.offer
It appears all you are doing is swapping an NFT for 1 mojo on both sending and receiving sides. I believe that’s acting as a non-custodial escrow. This offer essentially locks up the NFTs and allows anyone in the world to do the swap.
The output is of course a simple text file that can be uploaded to Dexie.space or OfferPool:
offer1qqph3wlykhv8nmvm09gpxac5cu55yydtd5g5t2pj3e26fzs6zgmwz5zpam9hqzz9cxpzggw8smwsmkvydje9uyd4tzk996yqpf24wpv5cdvv2ca532q9q8z52q2qzy2532p9qje65vw9u2fpgk9a2c3m645emhfl06ahl08eakdalmaaklhlhxwlat57n60tp4e7taa670drur63yrgemg4dfa5lcc5r4y3mxah5gc7k502uffge6tc6k3a3d74y0qnut7lnu2szr30mlagte6mzndvf63ct88whf6tx7vu78ac0t4nhhl6s2cwem0qy3zwwp4xgdylmcc48scurnzmj9ra64gwa75a6z2ce8scgt872t7elnxrm7pad8vmm8lehpnppht20r8l6qez30ua6gk6g954a4wwfcftcu4r9t449njq2cze97dee7lu6nuxjgv3qjyqcjr87rcepszrcsfswuhpvpvxv6uj7vpdlfz9f63r3yrfd7fer3q926umrqukyk7jcx7g34u55vp2jdxwvfz2zjyptpqy8cmcy2vqac7ztrvfct5qxxd963jpcpgqz23qrfws55peuggyazlp3ducepsvfas6zxyhyh35asdc229zy9egv30fr7pqt5py6r538zrz56r32n8j5w7nz7fjmztsupurhp7zte0wavnw8qmf0yqs0df98xh2avtd6r82mq7kjyell7509z5wlwtu5x36gcmcmmkkg5kjlm00jasnlws8squdkqrzkqryrqyzgr7fu9x8uhe7nsnc430zcpfcuq7rpnjvvv3mqp6hxpg2upchpzrm3pug04pk2y59z4nrp2yzjpmsl9jtl43d3vt74qncstjmqfvudgrwjyvrh87ms3jz4497mtqpc9daa98va8djm9pr3fe5rr7lgg9vtthrgg66685wrwdanvwpy5n62k25a83ycqpr6lk3sf5tkhqfwjczrgq7ymus0kr0dmykpwj563k47pph6c0rlut50u0wlej4eaxamz7k2nklcj2py0q57y9c5mqs7zt6qecu0sczrmtamfahs0a8gdf0hjl58ufqfahky2r43h3xed2m54ywrsd638etaskjckfxws7d2mfltesrwhkqts2gsgf3yxru67qunmlm74mgfyv393nathmy270r420wm423rf92nr7k4qe89zk6x5ef6uku6wer9kzn4vcyl5fa4ac547jpd7gugj54h93pkuxsdwxhenc86t5mykw6khahyda8ghdsaezsym6wfc6wtnxd72kxqn8d5mlfx5wy0z9ml7y6r40tlmy20kvrwujruusttaetahpf9hr6ds96j3f44hd0t8zkfra5am68g7nfv5a632vh88md22d33dlsasxwg52288e7h0kw9mh0tax48e99x7tmfu7x6ma9hlw5hu93flzdf38h32mpswn5mg2k2k2cn4yfj7emmaa480fysydsjkp553s8k3cpnd4lv3uex5r68s6mtdxdn7cw3v788ka52qmtte040tk74zmwxk0whfrqyvq4k6aj4ys7ayvqahkcpdje8sxvxedsrdsxqmq3qvpkja35syptycuz7gwymyksgnm0y8s5qafufzqcswsmzz5c6egvqp5xezj4guylq36skcdgqfurv08hgavt5nehmqr74ydrgru5s2qv08zss97fh3wrzfgkkpkm8jjeu64t4pvhjhgyv4y9x6eyt7aqhwxk6wve68myg5gl8erwa3wqy6gxpq9wg4spqpwnuzcsc3d2usxzzz3rqqgv0qx97szjcs39x2dquzysqq8ux2z0pg88ztmgvygpxe6ftkvsez9hpq9yw62vckquqtqv3c6p0tqnpfcfghgc9gzjysqqqgju58tqdv4gcd6gt2d9yu7q0h3fq47uyqh7rh5e3vk9yt7wyc2u9wcve25awjzqg6prvl77qdyuq35zxcla3kphkp86gcznzzqwm9d2zgzwcmcvxp7uhssgar2tejg6lkqal2ktwmt056t9vgzalttwe65yu67uay32ajd0aq3p466vjtrpclgevqd5ctth7c07zqvfhl8ej58accge9004ytj02z9ra4jkdlfervw853neze23unau5lsm0ez72lxx9zc7tufje2dse663uc7hl040qdh26tzj3y4kaewjn72v74e3wd9rxa9c20fuw33sv4wwzvzumqwm5u6ugqv48fsurgnpwdtjgh55h588suhfrz8tue6aqpmjft60dj737k4muqvedz5d8pw9l8hfnu6zrv6ugx6469n5fw4ky3yt9wakh4xcwft6wu2qdr4sujdxk4ucacal75pvh2lkud7mkyc4sd5x7wprd4w2uxnzg934s0ywhjnm8j7javeyhtenf55dr2rjl5lfk5454h3n8t377quruxpvmw4x6vcvtdrur2m2vcd943vlx3mukd3tx07h4j57erdh5rk4v9ku9r47jv550w397x08upvpuw870nvdcathdtccjtj0thw6j2zancf7s58e8s8easghmkhdlxm6d4teec4rlwd5u0kz06jz7tx0qr4ms7fl4e7lsr6l79pssn9rm3k
Send this offer via QR code to a friend, text message, or smoke signals. The blockchain will validate ownership and validity.
Let’s first dive into what I learned about Ethereum NFT swaps.
Based on a reasonably trusted source one can see that Ethereum NFT swaps do exist via OpenSea, Sudoswap, NFTTrader, and others. There are gotchas to almost each swap tool.
When searching the web for OpenSea NFT to NFT swap the only result I’ve found led to the OpenSea NFT transfer page. As you can see this doesn’t trade NFTs. This simply allows two trusted parties to send NFTs to each other.
Sudoswap and NFTTrader do appear to allow people to swap NFT for NFT on or via their platforms. At the time of writing this article, both mentioned NFT swap platforms allow bulk/basket of NFT to NFT swaps.
Let’s examine both a bit more in detail.
Blockchain | native NFT <-> NFT swap | True P2P |
---|---|---|
Chia | yes | yes |
Ethereum | no* | no* |
Compared to Chia’s offer files that allow P2P and natively on-chain NFT to NFT swaps the swaps on the Ethereum chain are neither. I did find Ethereum NFT swaps without fees and P2P via otc.Sudoswap.xyz. However, I haven’t found a method on Ethereum that allows generating an ETH offer locally and sending it via Twitter, Discord, or QR code.
There are a few marketplaces worth comparing and discussing, however:
marketplace | Blockchain | NFT <-> NFT swap | Fee | P2P |
---|---|---|---|---|
Dexie | Chia | yes | 0 | yes |
OfferPool | Chia | yes | 0 | yes |
OpenSea | Ethereum | no | n/a | no |
Sudoswap.xyz | Ethereum | yes | 0.5% | yes* |
otc.Sudoswap.xyz | Ethereum | yes | 0 | yes* |
NFTTrader | Ethereum | yes | 0.001 | yes* |
Again, while the Ethereum marketplaces claim P2P swaps most imply you still send a URL that links back to the marketplace. In Chia, you can create an offer file, as you’ll see below, that can be sent to anyone who can receive a text message. This implies no marketplace can dictate any fees for your trades.
]]>There’s also a puzzle embedded in the collection for the community to discover...
.
The community at XCH Foundation - chia-friends-puzzle is working through solving the Chia Friends puzzle.
There are some really interesting items that are being discovered daily.
Yes.
Chia Friends collection offers on dexie.space
link which opens https://dexie.space/offers/col1z0ef7w5n4vq9qkue67y8jnwumd9799sm50t8fyle73c70ly4z0ws0p2rhl/xch from the greasyfork website to see the rarity listbeen thinking more - current theory is that there may not necessarily be an “answer” at all, but we may be trying to reconstitute a “secret decoder ring” that we can then use to have fun encrypting simple messages and sending them to each other, maybe on twitter, like we did when we were kids. So maybe we post an encrypted message along with a link to a chia friend, which itself is the “key” to the message we’ve posted. This is more along the lines of “something that helps the community” than my other guesses and more in line with his clues I think. There could still be an encrypted bit of text with a special key, but I think first we have to build the decoder ring and understand the rules.
Blessed be the longbeaks
- may indicate
Sterling
is a misspelling of Starling (an actual bird) just likeTrancended
, andButerfly
Just spent about 10 min staring at the images with 3D glasses I had on hand. While trippy, can’t see anything SUPER apparent. Some colors are dull, while some are trippy, but seems mostly random. Also didn’t see anything special on the animated gifs 2/10, would not recommend… eyes angry at me now haha! Wonder if Mint having transparency if that is a hint or nod at anything, what with “minting” NFTs
I’ve been looking at the timelords relationship to the coins:
- Each of the 24 timelords has a word that corresponds to a set of 42 coins
- Each set of the 42 coins could be laid out in a 7x7 grid
- That would create a 1050x1050 collage (the same as the resolution of one image)
The thumbnail preview of the 10K Chia Friends:
The full scale image was created using ImageMagick toolset:
montage *.png -geometry 100x100 _chia-friends-all.png
Rarity (may not be 100% accurate) can be found here: https://chialinks.com/chiafriends/
10K image as a single PNG in a 100x100 grild (100px images): 220 MB ZIP - click to download the full resolution image
10K individual images as a single ZIP + JSON metadata: 102 MB ZIP - click to download images + metadata
There are 25 Timelord
bodies with these symbols:
#3372 buterfly
is confirmed as “bug” (by Seth)
#1479 infinity
is confirmed to contain null
instead of infinity
metadata was a mistake (by Seth)
#55 skull
#342 flame
#580 crown
#1106 lightning
#1173 squiggle
#1479 infinity
#1646 circle
#3372 buterfly
#3949 leaf
#3957 eye
#4306 rainbow
#5776 aries
#6321 swirl
#6477 heart
#6539 hamburger
#6573 smile
#7062 asterisk
#7329 pi
#7528 diamond
#8074 hourglass
#8147 star
#8406 triangle
#8749 key
#8794 square
#9301 crescent
There are 1865 of K32
bodies:
30 MB ZIP - click to download the full resolution image
There are 26 friends with trait_type Keyword
( @ECTS.io + @Yakuhito )
#1231 usage
#1308 quirk
#1850 prove
#1887 edify
#2510 wacky
#2528 acorn
#2706 viper
#2885 xrays
#3179 index
#3882 dingo
#3943 china
#4033 zebra
#4235 nicer
#4595 jumbo
#4968 graze
#5349 oxide
#5945 medal
#6054 yacht
#6107 leafy
#7086 kings
#7385 fixes
#7452 topaz
#8099 hints
#8526 snowy
#8545 birds
#9438 remix
There are a few Chia designed Chia Friend NFTs. Do note this was confirmed unrelated to the puzzle. Shared by @randomjuan in the XCH Foundation discord:
Below is the list of the 318 images not counting the 2 special GIFs (#880 + #9098) that if you exported the frames end up having transperency.
This list was created using this script + ImageMagick toolset:
for PNGNUM in {1..10000}
do
PNGNAME=${PNGNUM}.png
ISALPHA=`identify -format '%[channels]' ${PNGNAME};`
if [[ $ISALPHA = *srgba* ]]; then
echo $PNGNAME
fi
done
According to @danceswithwoofs these are the colors:
Mint 186
Mint & Gradient 65
Mint & Watercolor 30
Mint & Sparkle 18
Mint & Glimmer 10
Mint & Shimmer 9
The 318 PNGs with an alpha channel:
5.png
43.png
72.png
101.png
123.png
142.png
169.png
180.png
194.png
208.png
272.png
309.png
364.png
408.png
420.png
421.png
441.png
486.png
490.png
538.png
553.png
675.png
682.png
767.png
781.png
798.png
834.png
960.png
967.png
987.png
988.png
1001.png
1008.png
1056.png
1066.png
1073.png
1114.png
1123.png
1136.png
1214.png
1270.png
1291.png
1302.png
1347.png
1350.png
1357.png
1439.png
1440.png
1525.png
1527.png
1536.png
1552.png
1563.png
1621.png
1684.png
1695.png
1727.png
1789.png
1802.png
1818.png
1864.png
1935.png
1939.png
1958.png
1974.png
1990.png
2031.png
2083.png
2135.png
2183.png
2226.png
2247.png
2248.png
2279.png
2280.png
2284.png
2309.png
2412.png
2525.png
2562.png
2567.png
2602.png
2611.png
2674.png
2703.png
2705.png
2766.png
2773.png
2791.png
2808.png
2816.png
2833.png
2851.png
2862.png
2921.png
2974.png
2992.png
2994.png
3000.png
3010.png
3091.png
3109.png
3110.png
3119.png
3120.png
3125.png
3131.png
3133.png
3140.png
3175.png
3200.png
3302.png
3358.png
3388.png
3393.png
3412.png
3547.png
3559.png
3569.png
3571.png
3598.png
3654.png
3663.png
3760.png
3763.png
3771.png
3846.png
3857.png
3886.png
3977.png
4055.png
4107.png
4108.png
4199.png
4208.png
4241.png
4277.png
4287.png
4310.png
4315.png
4338.png
4350.png
4360.png
4373.png
4396.png
4424.png
4511.png
4522.png
4540.png
4579.png
4581.png
4615.png
4625.png
4663.png
4810.png
4863.png
4891.png
4895.png
4968.png
5067.png
5087.png
5132.png
5133.png
5167.png
5177.png
5202.png
5313.png
5343.png
5395.png
5396.png
5397.png
5398.png
5403.png
5447.png
5500.png
5514.png
5522.png
5591.png
5603.png
5648.png
5662.png
5761.png
5799.png
5855.png
5895.png
5907.png
5968.png
5989.png
5995.png
6035.png
6052.png
6096.png
6134.png
6148.png
6149.png
6187.png
6201.png
6205.png
6207.png
6354.png
6363.png
6365.png
6377.png
6511.png
6547.png
6559.png
6568.png
6575.png
6621.png
6643.png
6717.png
6725.png
6752.png
6769.png
6777.png
6782.png
6824.png
6831.png
6843.png
6847.png
6855.png
6881.png
6908.png
6961.png
6980.png
7023.png
7069.png
7101.png
7105.png
7123.png
7132.png
7158.png
7159.png
7246.png
7251.png
7252.png
7280.png
7313.png
7321.png
7341.png
7350.png
7381.png
7440.png
7455.png
7513.png
7558.png
7583.png
7611.png
7627.png
7640.png
7675.png
7705.png
7715.png
7725.png
7730.png
7748.png
7762.png
7842.png
7868.png
7893.png
7902.png
7973.png
7996.png
8104.png
8108.png
8153.png
8235.png
8251.png
8286.png
8297.png
8365.png
8440.png
8455.png
8459.png
8476.png
8510.png
8556.png
8627.png
8630.png
8733.png
8742.png
8809.png
8814.png
8822.png
8894.png
8919.png
8927.png
8932.png
9017.png
9043.png
9067.png
9090.png
9120.png
9213.png
9239.png
9240.png
9261.png
9286.png
9316.png
9318.png
9321.png
9335.png
9351.png
9353.png
9354.png
9377.png
9490.png
9527.png
9577.png
9672.png
9777.png
9789.png
9793.png
9816.png
9862.png
9906.png
9917.png
9918.png
The floodgates have opened and NFT1 is here! Most corners of the internet are not aware of the Chia NFT1 standard but they will with time.
Why should anyone mint on the Chia blockchain?
How about being the most decentralized blockchain with over 150K nodes. Go ahead and take a peek at the current node count on Chia Dashboard
How many nodes support Bitcoin? According to Bitnodes there are 15K nodes.
How many nodes support Ethereum? According to Ethernodes there are 5K nodes.
To sum it all up:
Network | Nodes | Green | Type |
---|---|---|---|
Bitcoin | 15K | no | PoW |
Ethereum | 5K | no | PoW (soon PoS) |
Chia | 150K | yes | PoST |
How is Chia greener than Bitcoin or Ethereum? The energy consumption of the Chia network with 10x more nodes is significantly less than Ethereum or Bitcoin.
There is a lot to like about Chia being more secure and greener than Bitcoin and Ethereum. Note, I don’t mention more Proof-of-Stake (PoS) blockchains because they aren’t solving problems in a better way. Chia and Proof-of-Space-and-Time (PoST) indeed solve things in a new way.
With the announcement of NFT1 standard being complete everyone is pining to try the new minting process. The Chia team and the legendary Seth Jenks have revealed their own PFP project: Chia Friends + @chia_friends
(src:https://www.chiafriends.xyz)
Just like looking forward to your first kiss. The wait was worth it. The Chia Friends PFP and many others currently minting are going to be exploring new frontiers.
In Chia’s own words:
We are seeking to leverage Chia’s sustainable, inclusive, and compliant blockchain to enable and drive real-world applications of digital ownership through true marketplace independence, consistent provenance, and digital permanence.
According to the website and the Chia team the NFT project contains puzzle(s). Seth Jenks already confirmed he created the puzzle and not Bram. That likely means we can solve this puzzle in this century ;) Good luck to all!
]]>I started building Geocities websites when those were popular, skipped to WordPress websites, and now learning about Jamstack sites. If you are familiar with these platforms you’ll notice they are mostly WYSIWYG tools for building websites.
WordPress has been fantastic to have as a tool but I’ve found them always slow to load and generally overly feature-rich for my needs.
In my head I classify the transition of web technologies as follows:
Geocities -> static sites ( built with a tool )
WordPress -> "dynamic site" because it has a database
Jamstack -> static sites ( built with a tool )
Geocities were built with WYSIWYG tools and pure HTML. We were doing the majority of the theming by hand. Jamstack sites started out similarly but with the addition of tools that generated the static site based on simplified input (markdown). These days Jamstack includes dynamic sites built with React library, Vue framework, and many other frameworks that make dynamic sites + static frontend.
What’s an example of a static website on Jamstack? Jekyll https://jekyllrb.com/
Jekyll is a server, CSS, and HTML that lets you type in markdown (essentially text) and let you render a static website. This website can be deployed free via any host. Static websites are quick to load and are “good enough” for most people who simply want to blog/share info.
The entire process of installing Jekyll is:
For the purposes of this tutorial, I assume you already know how to use GitHub and have a bit of dev knowledge.
Gemfile
add/replace Ruby and Bundler with their latest version. For me they ended up being:
ruby "~> 3.1.2"
gem "bundler", "~> 2.3.16"
gem "webrick", "~> 1.7"
to your Gemfile
bundle
x86_64-linux
arch then you’ll need to run:
bundle lock --add-platform x86_64-linux
git commit
and git push
my-static-websites
App
menu create a new app
Commands
for building the Jekyll site to:
JEKYLL_ENV=production bundle exec jekyll b
Output Directory
to:
_site
Add Domain
button.
www <Digital Ocean domain>
CNAME entry.You may see your domain connect to the DigitalOceans app quickly but there’s no guarantee. It’s safest to wait 24 hours for the DNS records to propagate worldwide.
At this point, you should have a newly deployed Jekyll website.
No go out there and share your creative energy with others.
]]>