-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add EIP: Native Tokens #9026
base: master
Are you sure you want to change the base?
Add EIP: Native Tokens #9026
Conversation
File
|
--------- Co-authored-by: Paul Razvan Berg <[email protected]>
Could we please get a number assigned to this EIP? We have written an accompanying thread for posting on X/ Farcaster, which would attract more reviewers. cc @abcoathup |
All these functionality already exists in https://eips.ethereum.org/EIPS/eip-223 . Read it carefully, including rationale. In particular pay attention to this phrase: "This standard allows payloads to be attached to transactions using the bytes calldata _data parameter, which can encode a second function call in the destination address, similar to how msg.data does in an ether transaction". In other words, 3rd parameter of See also: https://eips.ethereum.org/EIPS/eip-1363 And finally: https://eips.ethereum.org/EIPS/eip-1155 . eip-1155 allows to transfer multiple tokens in single call. And send arbitrary data, which (similarly to eip 223) may contain another call. So, I think existing EIPs already subsume your proposal. (Note: I'm not Ethereum developer) |
EIPS/eip-xxxx.md
Outdated
mapping. The supply of an NT increases as a result of executing the `MINT` opcode, and decreases as a result of | ||
executing the `BURN` opcode. The `token_id` of an NT is the Ethereum address of its associated smart contract. | ||
|
||
`ETH` becomes the 'Base Token', with its ID and supply initialized to zero. `ETH` is the only NT whose supply is not |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest initializing ETH's ID (i. e. ETH's unique contract address) to 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
instead. This value is already widely used by many dapps (in particular by DEXs) to refer to ETH. I. e. it is used as "pseudo-ERC-20" contract address for ETH. (Note: I'm not Ethereum developer)
The commit dcdc6ee (as a parent of 3e75013) contains errors. |
Good work! As there is some finally some work on this topic, here is the wish list (copied from other chains) on some of the items on the check list for better UX and DX which could be addresses in this spec, or other ERCs. It's important to have "full package" of the token features for building applications. Let's make sure the spec carries all the way through and addresses all the needs of application developers. Some very important user stories include: -[ ] 1. One RPC call to get balances of tokens of an address: wallets need to do know what tokens the user owns, now it is a good time to add an index for this as a standard full node RPC feature Some list of token standard documentation from other relevant chains |
@PaulRBerg what this opcode should do?
(I suppose they act similar to call and callcode but the behaviour/logic of the opcodes is not written in the proposal, just the args) Also, why is the transferring method so overcomplicated?
I guess the idea was to let tokens be transferred with just one transaction but this overcomplicates the logic of transferring significantly and I can envision a huge number of mistakes the implementers will be making with that. I would be in favour of keeping the logic as clean and simple as possible. Only allow 1 token to be transferred at a time, so that you would only need |
@Dexaran the preferred forum for discussion is specified by |
This EIP introduces Multiple Native Tokens as a backward-compatible extension of the EVM, enabling
fungible tokens to function with native-like properties.