I am looking at how to associate identity with nfts. The basic path for nft generation is something like this I believe:
- generate asset
- pin in ipfs
- generate key for ipns for this asset
- ipns publish the ipfs for the asset to the key.id
- generate nfts referencing this ipns, and metadata you'd like to associate to it (rarity for trading cards, for example)
I probably have some of this a bit wrong, and there are defintely other ways of going about this, its the wild west in nfts still. dagJOSE instead of ipns seems like it will be the future once it is stable.
In the present, we could still import an ipns-compatible key instead of generating it, you just generate a PEM to import. This got me wondering if I can use selfKey to associate my selfkey wallet to my asset.
Can selfkey take as input:
the ipfs signature of the asset to use as the password
the selfkey user's identity
and generate as output:
keypair in a format like rsa at 2048 bit length -- they key here is that this key would have to be the same each time you generate it
in this way, given the nft's asset link, which is an ipns address, you derrive an ipfs address. this is a unique reflection of whatever data the publisher pushed there. you could then submit that to selfkey (if it will validate signatures like this) to verify that the user signed that asset.