-
Notifications
You must be signed in to change notification settings - Fork 86
ERC721 (non-fungible tokens), ERC165 (introspection) and CryptoKitties #109
Comments
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This issue now has a funding of 600.0 DAI (600.0 USD @ $1.0/DAI) attached to it.
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done Work has been started. These users each claimed they can complete the work by 3 months, 4 weeks ago. 1) leonprou has been approved to start work. Hey, Plan of work: Learn more on the Gitcoin Issue Details page. |
💰 A crowdfund contribution worth 55.00000 DAI (55.0 USD @ $1.0/DAI) has been attached to this funded issue from @.💰 Want to chip in also? Add your own contribution here. |
@raulk Hello, any update 👀? I've got over the codebase and graphql docs, so I think I can handle this. |
Hey @leonprou you're good to go! Sorry for the delay on this. |
@leonprou 🎉 let me know if you have any questions! |
@ceresstation @raulk thanks guys. Started working, you can view my progress here. For now I've implemented the ERC165 plugin (though I've done this using a simple resolver). Also I added a Update |
Erc20 and 721 are very similar. But for example, you don't transfer 100 tokens in Erc721. You transfer kitty with id 123 |
1 similar comment
Erc20 and 721 are very similar. But for example, you don't transfer 100 tokens in Erc721. You transfer kitty with id 123 |
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
1 similar comment
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
@gitcoinbot sure :) @elie222 Yes I understand the ERC's. My question was more about code structuring. |
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
1 similar comment
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Yes, I'm in DevCon now so didn't have time to work on this issue. Will work on this at the weekend. That's my WIP PR Yeah I have an obstacle that I would like to discuss. I started to test the ERC721 plugin, but I'm struggling to find transactions signatures for tests. For example I want to test the |
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
1 similar comment
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
@raulk @ceresstation Hey, I'm finishing with the ERC721 plugin. Fun part: technically Cryptokitties isn't ERC721 token. It's missing some ERC721 methods and got a different signature for `supportsInterface function. So now I check the two signatures (here), but I doesn't make too much sense. So I'm thinking to delete this condition at all. |
I believe Kitties is the ERC721 before it was fully finalised. A lot of
games implement the Kitties ERC721 standard. Another example is
CryptoFighters.
…On Mon, 12 Nov 2018 at 13:46, Leon Prouger ***@***.***> wrote:
@raulk <https://github.com/raulk> @ceresstation
<https://github.com/ceresstation> Hey, I'm finishing with the ERC721
plugin.
Fun part: technically Cryptokitties isn't ERC721 token. It's missing some
ERC721 methods and got a different signature for `supportsInterface
function. So now I check the two signatures (here
<https://github.com/leonprou/ethql/blob/erc165_erc721_cryptokitties/src/erc721/resolvers/index.ts#L6>),
but I doesn't make too much sense. So I'm thinking to delete this condition
at all.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#109 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AC8oX-CMlBhMluzFNNbhMx86KxZkozzRks5uucH5gaJpZM4XBHMa>
.
|
@elie222 yeah, this what I though about too. Anyway, I've done the implementation of ERC721. Actually, I don't think it's so convenient to use right now, because:
So, as the current ERC721 implemented, I don't think Cryptokitties plugin can use it at all. |
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
1 similar comment
@leonprou Hello from Gitcoin Core - are you still working on this issue? Please submit a WIP PR or comment back within the next 3 days or you will be removed from this ticket and it will be returned to an ‘Open’ status. Please let us know if you have questions!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Issue Status: 1. Open 2. Started 3. Submitted 4. Done @leonprou due to inactivity, we have escalated this issue to Gitcoin's moderation team. Let us know if you believe this has been done in error!
Funders only: Snooze warnings for 1 day | 3 days | 5 days | 10 days | 100 days |
Sorry for the delay here, @leonprou. I think we're off to a very good start. I provided some initial feedback on the PR. Regarding the ERC20 vs. ERC721 duality, for now let's decouple them from one another, even if that implies minimal code duplication. It's too early to introduce a wider "token" abstraction. Regarding the function/property names differences in ERC721, it sucks that things are not standard. And this surprises me a lot. Do we have concrete examples? I'm thinking we can use some kind of fallback, e.g. first try X, then try Y, then try Z before giving up. Do you have a headstart with the Cryptokitties plugin? When I evaluated the contract, I realised it differs much from ERC721, so it belongs in a separate plugin. If we find that the method interfaces are the same except for naming, we could consider exposing a service from the ERC721 plugin that takes a property/method name mapping. |
@raulk Thanks for the comments, already started to do the fixing and pondering about them 😊. About the differences with Cryptokitties and other NFT's. Yes, because of the big delta I didn't start with it yet. For example Cryptokitties doesn't include underscore for the variable names in the events (not it's hard for me to estimate how much such deltas are common. Looks like though the new NFT's are more strict to follow the ERC721. Also, looking into NFT's I see that the most important are the events, cause for most of the time the NFT's are using their own functionality. |
Hey @leonprou any updates here? :) |
@ceresstation @raulk Hey, sorry for being slow on this. Maybe we should chat about the missing parts to make it faster |
hey @raulk have you had a chance to take a look at the comments in the PR? |
@ceresstation @ryan-shea Hey guys, I don't think I want to continue to work on this bounty. The rare context switches on this are taking too much resources.. I believe that I made something close to the bounty's goals.. So it would be nice If I could receive some fractional compensation for my work. |
@leonprou That's totally fair. To be honest I'm not entirely sure about how to move forward with this, as the standards seem somewhat non-normative. I think it would've been great to try and develop a Cryptokitties plugin by reverse engineering the ABI anyway, but I'm also not sure what the value of such an undertaking is. @ceresstation Can we release half the bounty to @leonprou for his work? |
@raulk LGTM 👍 |
@raulk @ceresstation so waiting for the transfer 👀 |
Sorry about that @leonprou just paid you out :) |
⚡️ A tip worth 300.00000 DAI (300.0 USD @ $1.0/DAI) has been granted to @leonprou for this issue from @ceresstation. ⚡️ Nice work @leonprou! Your tip has automatically been deposited in the ETH address we have on file.
|
Issue Status: 1. Open 2. Started 3. Submitted 4. Done This Bounty has been completed. Additional Tips for this Bounty:
|
@ceresstation Great, thanks! Seems some part of the tip is still stuck on the network. The gas fee is 3 wei 😅 |
Motivation
EthQL can currently decode ERC20 transactions, and can support any ABI through its
decoder
service. We now want to extend the breadth the transaction decoding in EthQL by adding support for ERC721 (NFT) and ERC165 (supportsInterface). The latter is a fundamental step towards supporting more contract types in the near-future.We also want to introduce the notion of application-specific queries with CryptoKitties as an example.
Requirements
Create
erc165
plugin that adds asupportsInterface
field inaccount
to query whether that contract supports the interface provided as an argument.Create
erc721
plugin, adding a decoder configuration for the ERC721 log events and transactions.nftContract(address: "0x...")
that exposes the ABI's view operations and public fields, including any relevant field edges (e.g. accounts mainly).ERC721*
transaction/log types (in the same spirit asERC20*
transaction/log types) so they can be used fromdecoded
fields.erc165
plugin to query if a contract is an NFT.Create a
cryptokitties
plugin.Definition of done
The text was updated successfully, but these errors were encountered: