Our first NFT is available. Is this a fun gimmick or a relevant medium for our community? Let’s see what we are talking about.
Our first NFT is a badge that acknowledges the competence of Civicpower’s “Terms of service Master”. This is true for 102 citizens who found the mention about this NFT in the general terms and conditions of the POWER token here (FR).
So we started by anchoring the English texts and French ones: the recordings being visible here for the English version and there for the French version — with the inBlocks certificates here for the English version and there for the French version.
Once those contents are proven as to their integrity and date, we have created 102 NFT on the Binance chain here with with their subsequent smartcontracts here. Why the Binance chain? Very simple, we got 0.098446555 BNB or $31 including $7.32 for the contract or roughly $0.23 per token…
How does it actually work?
Let’s try with the 42nd NFT, answer to the Ultimate Question of Life, the Universe, and Everything.
a) List of NFTs can be found here. When we didn’t have the owner’s address to mine it directly, we put it on our address until he claims it.
b) The content of each NFT can be checked on the Binance Smart Chain scanner. Go to section 18 “tokenURI” and enter the unique ID of the NFT between 1 and 102 in this our TOS Master example.
If you enter “42” you will have this “https://api.inblocks.io/civicpower/nft/TOS/42” in the tokenURI string, our api endpoints to the proven data through a simple JSON:
{
"id": "42",
"name": "Master TOS of Civicpower",
"image": "https://api.inblocks.io/civicpower/nft/TOS/42/image.jpg",
"description": "I have read the TOS of Civicpower",
"readAt": "2021-05-19",
"tos": {
"en_v1": "6823c61f31e839fa7f30b6175999057425e6bd83103536e22da81d309d528128",
"fr_v1": "5888812d24bc19fe251179e40ee2e89355496b00214fed5f8b50f49b67640ffd"
}
}
c) The proof of existence of the NFT and its content is hosted on the layer2 inBlocks blockchain that you can query via this API https://api.inblocks.io/civicpower/inblocks/precedence/chains/nft_TOS_42(42 is the NFT number in our example can be 1,2,…,102 here).
The enrichment and evolution of the NFT’s content take place on this 2nd blockchain for obvious reasons of cost, speed and technological independence from Binance.
In the answer you will find the ID “f5b7d1b3ca96e7d964eb6f44ed8050db8de63721c380c7f2c86fcca059a559a7” : it is the address of the root block of the inBlocks blockchain that corresponds to NFT 42. This id is publicly demonstrated here in the Ethereum blockchain on transaction ID “0xd2cf981f9f73b02287b9cd7dbd3c0554468a83306867481fa4d70ba2e5c51671” of block “12818333”
{"provable":{"id":"7c1c09930464a11d20b89ce79359d0b1e3c565e758dde15964dcd43abd7a1c72","seed":"245a4fb5b55f5008f1f84ce2157f2d450679d6a12e458ecf407d80a777b4ffc1","hash":"ad4a7bcabf6de56b7c70ff56618c80f678681724c80d6a9a967a5c66f398d081","chains":{"5a419423abcbb7247ab595094be36c17e2ee9c0bdc52609e121e696650bc75f9":null},"previous":[],"address":"20c4288fffbe1a9cfd685a9ee535abd994cbceb64dd46ca48392f9d6e1bee01f","signature":"907213338ff459d266ee11de49532fa03d6a86252a965c58df1b4b8a1d80aba6"},"timestamp":1626171771401,"seed":"2dc56ab9fb735be728006ca0da37a96067d8d03c7251ff12153808415eb7029c","hash":"5a9a3f9def04acdd99bc3d81c38675151522009598d334e3a8ff5698caf026eb","chains":{"nft_TOS_42":null},"address":"0xdcf9becde3714abeb83fe0e846c7bd605a1d33a7","signature":"0x306e1ab70b6538fcd646d1142d47dba3350498b6281dc39859cf1db88ba3ec0312d36cb60ceb0aaa2130bb79c742303181c19b494527968ebc0e9319e929b6021b","data":{"bytes":381},"block":{"index":0,"root":"ee222d966126127daa9834f358112016efb313367940a7d3bb55484b95670de7","timestamp":1626172840107,"proof":["f90211a0e57c0408406f979a4630a41c58b80bdcdf901ccafec7120e1a1a37d0a1(...)ade7019d81a70acd360f028e7d0415"],"inblocks":{"record":{"provable":{"id":"d9bc5f50e275044dec66ef1ef03dbf921dc60328d81ab2094a5d9fb992fd4524","seed":"ee07f64f65109d9d2f0f4eeae68ed9a65fdba77d6c8403b18178495fca83e937","hash":"577bc2786b37368d0992487e6faf6527eb49a374d9ca8b34b0f9b58421746c18","chains":{"0a0be90e26f9c41763c47253f3e2e7005954ea7079f3aa07b3d0cd1ca9871a07":null},"previous":[]},"timestamp":1626172840125,"seed":"7615b1577fa5d02fa1f71dc92ab5f0a0c11d74c5c5b5ce59e3185b5483f35fac","hash":"ee222d966126127daa9834f358112016efb313367940a7d3bb55484b95670de7","chains":{"m7qhe431":null},"block":{"index":3,"root":"f5b7d1b3ca96e7d964eb6f44ed8050db8de63721c380c7f2c86fcca059a559a7","timestamp":1626172848362,"proof":["f89180808080808080a04dadacb3679e035dd8c9358e6f77445af57f46aa30b8e2da8197060094aeb73b808080a00f7dc4e1c0c8ed43ebb7b239daf7fc922111e27c445fc9a2c7289bf946600ea880a01553ae72861aeb48c9e9bd7577c29399a08a4344426c72797261df5b0d73a81680a0354fd55d31480137a22594008763b95d19a5d2d5621084f61e65c436dbf2400580","f842a039bc5f50e275044dec66ef1ef03dbf921dc60328d81ab2094a5d9fb992fd4524a09554332e87cdfa7414e88c4d23051b62c3477d6ba33215812069e040271e4d5b"]}},"ethereum":{"block":12818333,"transaction":"0xd2cf981f9f73b02287b9cd7dbd3c0554468a83306867481fa4d70ba2e5c51671","address":"0x1383113dba1c6Cc2BeF46CA03cbc5a535311168c"}}}}
By bridging the gap between a NFT on the Binance smart chain and its proof of existence in Ethereum, we make this NFT interoperable from one chain to another and allow it to evolve over time.
d) In the record above we see that the id of the entry on the inBlocks blockchain is “7c1c09930464a11d20b89ce79359d0b1e3c565e758dde15964dcd43abd7a1c72”
From this address we can find the data we are interested in:
- original record here https://api.inblocks.io/civicpower/inblocks/precedence/records/7c1c09930464a11d20b89ce79359d0b1e3c565e758dde15964dcd43abd7a1c72
- data recorded https://api.inblocks.io/civicpower/inblocks/precedence/records/7c1c09930464a11d20b89ce79359d0b1e3c565e758dde15964dcd43abd7a1c72/data
- certificate https://api.inblocks.io/civicpower/inblocks/certificates/7c1c09930464a11d20b89ce79359d0b1e3c565e758dde15964dcd43abd7a1c72
All of this is possible because we are using Precedence stack from inBlocks and we have an account on inBlocks.io their SaaS platform.
Want to “see” your NFT?
We are developping a web interface to facilitate its visualization but you already have the url https://api.inblocks.io/civicpower/nft/TOS/42/image.jpg (with here 42 as an example of course, to replace by your ID).
You can also view it in metamask if you configure the Binance chain (see tuto here or here).