Closed leviadam closed 6 years ago
@leviadam Have you seen this as well? https://github.com/ethereum/EIPs/issues/777
Hi @Alonski, Thanks for researching! But this is not good for us. It is not backwards compatible with ERC20.
OK. I have updated the branch. I have changed the function transact
to transfer
to be compatible with erc233. Thoughts?
I am working on this. I'll expand on Adam's implementation over the weekend.
ERC223 is compatible with ERC20 (set this)
ERC223 is a superset of the ERC20 token standard. ... ERC23 tokens are backwards compatible with ERC20 tokens.
@leviadam explained to me that even though it is meant to be backwards compatible it actually isn't
There's also ERC827 (which is ERC20 compatibe, at least according to zeppelin-solidity
's implementation)
This is very close to what I was thinking, maybe we can simply adopt it. Can you maybe see if some people already use it? Did it get comments in the EIP? Maybe you can test it a bit? Write a receiver that uses it?
Not an Ark dev, but interested none the less. I think ERC721 tokens can be useful outside of their current popularity in smart contract based blockchain games.
Asset management is a fair example of this. Lets say company x buys buys 300 computers and 100 phones spread accross 6 departments.. They want to represent each of these on the chain as assets tradeable and traceable between departments. They could represent them with ERC721 tokens stored in each departments wallet. Department A sends 3 phones to department B and department B sends them a spare computer. The transaction is mirrored by admin staff in both departments via their wallets.
In this way assets of different values can be kept track of by the companies internal blockchain. Maybe I am beating down the wrong path but there is a use for non fungible tokens.
@hyperbolictonic Thanks for your interest! (BTW it's "Arc" and not "Ark").
I think there's definitely a use for non-fungible tokens. But the DAOToken
Arc is concerned with is a token which is used to represent value and reward the participants of the DAO for their actions, and as such, it needs to be fungible. Of course any specific DAO can choose to maintain other tokens like ERC721.
(@leviadam correct me if i'm wrong about this)
Hiya, yeah sorry I hit submit and then realised I was in the wrong place and then work beckoned. These are the hazards of researching while on your lunch break. Feel free to delete. I will check out your project though, I am now intrigued as to what I stumbled onto and by the friendliness of the community.
There are several standards for tokens. One can consider the ERC20, or ERC223 or ERC721
I think we do not need the 721, as it is not fungible. Regarding 223, I totally understand why we want to allow transfer and call to save the notion of approve and transferFrom. However, the fact that 223 is not backwards compatible with 20 is a problem for me.
My idea is to suggest a mixture of 20 and 223. Which will have two different functions
transfer
andtransact
, the first is the usual ERC20 transfer, and the other is like the 223 transfer standard.Another issue is the types for string name and symbol. The standard is string. But string is very costly. We can do bytes32, and write a getter, to support backwards, but casting from bytes32 to string is quite a problem in solidity. The other option is to just break backwards compatibility.
Thought? @orenyodfat @Alonski @dev-matan-tsuberi