0

Consider the following scenario. A person owns a asset called "A". Now the asset is very high valued and unique but you can allow other persons to own a certain part of that asset.

  • EDIT: Ownership can be claimed iff certain funds are raised as decided by the owner. Like a crowdsale but for ownership . Hope it makes sense

At first I thought about ERC721 but then how can I divide it so that I can send a piece to each interested person?

Ideas I came across so far:

  1. Create a ERC721 token and wrap it in ERC20 token and then distribute them
  2. Create a simple ERC721 token with added function of totalSupply to mint multiple of them
  3. Send the same ERC721 token to multiple persons and keep track of who owns them
  4. Creating a simple ERC20 token and keep limited supply but I can't figure out how to keep them unique.
  5. Any standards that might be implementing this and I might be unaware

I am looking for ideas/answers/is this even possible?/would any of the above ideas work? type of thing and all suggestions are welcomed. If you think something is missing, let me know and I can edit the question as well to better suite the responses. Thank you all in advance.

Any suggestions on how to implement this kind of thing as it matches a lot with my requirements

2 Answers 2

1

I would be inclined to make a token factory that issues ERC20 shares. The shares in A would be fungible and you would have another contract for B.

You would probably want a way to track them, the contracts, symbols, desc and so on. ERC721 is a candidate by there is nothing to "transfer" in the reference list itself so I would probably just build it into a purpose-built contract factory.

Presenting the shares as tokens is good news for wallets, DeX, transfers, and a simple factory would keep track of them and form the basis for a dApp UI.

A candidate alternative is EIP1155 - https://blog.enjincoin.io/erc-1155-the-final-token-standard-on-ethereum-a83fce9f5714. It would do what you want and with less gas but it would be a bet on future adoption and wallet/exchange support.

You could make a happy median with a custom ERC20 implementaton deployed as a minimal proxy contract which could be very cheap if you optimize for that.

Hope it helps.

3
  • So as I understood, the ERC721 would be sort of a unique factory producing ERC20 tokens which can be used to claim owner ship of that factory and ultimately the asset pertaining to the ERC721? I also have to create a crowdsale so that the owner can sell the ownership iff certain funds are raised for the asset "A"
    – Hackeerrrr
    Jan 30, 2020 at 7:32
  • I liked your idea on this post and would like to know how to go about implementing this. ethereum.stackexchange.com/a/60939/57772. Thank you for the help
    – Hackeerrrr
    Jan 30, 2020 at 10:36
  • 1
    That's shared ownership and control of an indivisible thing. You would use ERC721 and vest ownership in multi-sig wallets or something else concerned with the decision-making/process. When a motion passes the required theshold, then the group of voters would act in unison. Jan 30, 2020 at 16:56
0

You're not the first one to have such a question. Here's one reference: Ethereum implementation of a non-fungible but divisible token? (ERC721 seems not to work for that) . The first answer there suggest that the token can be owned by a contract which should actually solve your problem - you just have to code the owning contract in a certain way.

There are also some EIPs for such thing but I don't think they've gained much traction. Here's something I stumbled upon: https://github.com/ethereum/EIPs/issues/1528

1
  • Thank you for the reply. It helped me in making things more clear than before. I will try to research in my new findings and see if something feasible pops up
    – Hackeerrrr
    Jan 30, 2020 at 7:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.