morgangiraud/leniax

NFT smart contract

Closed this issue · 0 comments

We will create a smart contract satisfying the ERC721 and we will ensure it works with opensea.io.

The best way to do that is to follow their doc and then add our custom functions.

Our end goal is to have a contract which mints new NFTs based on the total amount of transactions ethers that happen when a previous minted NFT is bought:

  • Only the firest Lenia is minted when the contract is created (associated with the address owner)
  • People can buy them and resell them
  • Each transaction add its amount to the total_transfered variable in the smart contract
  • Each time a new threshold is passed, the contract mint the next Lenia.
    • This Lenia is randomly given to an account that already owned a Lenia
    • The more Lenia you owned, the higher your chance to be selected in the pseudo-random function
  • Those thresholds follow the production function. (see at the root of the repo).
  • We would like to create NFTs that are as close as possible to real NFT in the sense that every piece of them should be as much decentralized and open as possible (DNS, storage, etc.)
  • We would like to make the contract completely autonomous (once it is deployed, no need to touch it anymore)

Money redistribution:

  • Every first sell is linked with the owner account so we do not have to do anything
  • We will use opensea.io to harvest a percentage of every resells.
  • If we work with outside help, it could be interesting to add a mechanism to automatically redistribute money to them (not sure this is possible with opensea.io. If it is not possible, we will just make manual transactions every month or more)

TODO:

  • Define the price at which Lenias are originally sold
  • Define the percentage of fees on reselling
  • Create the contract