Simple NF token registration and timestamping
User Story
As a Crown blockchain user, I want to be able to register/issue a cryptographic token representing a document or another unique asset so that I can prove existence, time registration and authenticity of that asset anytime.
Requirements
- An nf-token entry should contain a 256-bit binary string representing a token. It can be an SHA-256 hash or another user-defined unique binary data. The token id must be unique in the current token type namespace.
- An nf-token entry should contain a unique id representing current nf-token type/protocol.
- There must be a way to prove the token ownership.
- There should be a way to add metadata to the token.
Tasks
- Implement nf-token registration transaction using special-transactions
- Implement nf-tokens data structure in-memory handling
- Implement JSON RPC API to issue new nf tokens
- TxMemPool confict handling
- Block processing
- Include spec-tx data in json formatted transactions (link)
- CreateTransaction extraPayload (link)
- Unit-tests
- Debugging
- Refactor code, get rid of TODOs
- Code Review
- QA
Definition of done
- Ready for production after QA check.
How to demo
- Open Crown wallet console.
- Run
nftoken issue/publish <nf-token-symbol> 507850195211dca75e1120ecfa0983b94af7fc221a0b68cc164ccbf8e8056057 <addr>
. - A token should be registered successfully.
Link/refs/notes/images
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information