EIP Editing Office Hour #31

EIP Editing Office Hours · 6 Feb 2024 · 58:17

Meeting 31 of the EIP Editing Office Hour, held on 6 February 2024. EIP editors and proposal authors work through open pull requests and questions about the Ethereum standards process. This meeting covers EIP and ERC pull requests heading to Final, Last Call, Review and Draft along with miscellaneous pull requests.

Topics

From EIP Editing Office Hours, hosted by ECH Institute.

Transcript

there we go so did you guys have any specific uh proposals you wanted me to look at today how you s how's it going it's good it's good uh we have a ERC 7589 7589 all right you said ERC yesc okay screen am I sharing looks like the right one all right just for context um this is the

equivalent of um see 7432 which I submitted on the chat um we yeah 7432 is for um um 721 nfts and this new one is for 1155 all right we we tried to pack them in a single USC but yeah the the implementation result wasn't ideal uh so we had to create one one for each yeah that makes sense yeah all right all right let's take a look uh so

I won't won be able to look too much at chat here um just because um I'm just on one Monitor and yeah anyways um yeah let's jump right into this so Ena account showare the utility sfts via experimental Ro assignments all right yeah control assignments granted just a single user and expir automatically but yeah okay cool that's good uh 1155 tokenization capabilities

good okay delegated to the users gaming yeah perfect okay you have 11 yeah so you should probably put 1155 in your requires um I think so there is a there is a reason why we didn't include the 1155 as a requirement and the that is H we try to elaborate that in one of the final sections uh called um what is it called um I'm looking over here backwards compatibility okay basically yeah basically we we want to allow people that have um immutable NF

to also um use these um this EIC so you can either implement it in the same contract as your 1155 nft or you can implement it as an external contract as a as a standalone contract right so think of the required header here more as like required reading not like required for implementation oh so yeah so if you have to read 1155 to understand how this standard works even if you don't need the the interface you should still put it in here and I think it's pretty important cuz I think you use the metadata down here yeah yeah I interpreted it differently we should included

that perfect okay uh recommended so rfc's don't use dashes don't ask me why but that's just how it is um okay interface okay see 75 89 7K okay your your ERC 165 identifier is correct yeah uh we do have optional interfaces so we calculated for each of the interfaces perfect but this this is

the draft merge uh so we can can always double check uh before um so we need to find a reval yeah perfect okay that looks good process okay that looks good the core interface allows for cing tokens commitment balance but not for specific B to the

impation yep okay okay so the supporting this feature must also implement the extension ofel 1155 this extension is optional yes okay um there we go

okay additional f okay then an example okay so I I enjoy or not I enjoy I often recommend that you um in your example show like the full um both the 1155 and the extension so that people know where to put it relative to the existing metadata so I'll just add a comment for that here but um hey if you think it's obvious you don't have to do it I just I recommend it so yeah yeah that that's okay we we omitted it because it was a little too

big but I guess we can we don't need to also put everything we can just part of it right okay proper of the Roll are suggested okay significant of the inut property Gast

okay represented is a b 3 identifier recommended to use can commit tokens function must revert at the Tok amount okay good okay that all looks good please not approval requir okay nice okay okay steps okay okay so this stuff here um

okay let's see what's a good explainable thing here um where is that just clear without an example I mean you're here I don't necessarily need to exp yeah so so basically the rationale should explain like uh why you know you've chosen you know these two methods instead of one method or or why you're using like as a random example like ecdsa instead of

ed25519 like those are the kind of things that belong in your rationale section or things on that Sor sorry to interrupt you on the second paragraph we try to explain what token commitments are because we use this term a lot throughout the the interface and it's basically an abstraction that we that we introduce just to represent you know either a balance that is frozen that us a cannot transfer or tokens that are deposited on the contract we can try to to rephrase that uh but I think it's important to remain that in in the rational aray yeah that that's fine then yeah it's just um this pair this lead in here makes it sound like uh token

commitments are the whole point of The Proposal whereas if they're just a part of The Proposal then it makes sense to keep them in rationale yeah so that's fine then um okay roll approvals that makes sense so we are inside rationale so so um sorry I didn't send that comment

would you mind yeah yeah so um right here you're saying like for this reason it's recommended using uh Type U u64 Max um where the assignment is never required to expire that's a requirement so this is like you're you're making a suggestion that people implementing this um should use this particular Sentinal value to me never expire um since you're introducing that as kind of like a recommendation or requirement it should actually be in the specification section okay yeah um because like if somebody were to only receive the specification section of your EIP they should be able to implement your EIP

even if they don't really understand why they're doing it that way so all of your requirements should be in that section yeah and that that goes for kind of all of them here so and then that'll go for any of the fully capitalized keywords anywhere reference implementation okay I should go back up here

so ft see your game yeah that makes sense okay many ask teacher deploy contracts which the following challenges how can enable Ro manag that can't be modified this problem yeah so okay 75 inside the SF contract okay

good um so because this is a file name you can go like this and that'll make the lter shut up um there we go yeah that looks good and then you have the right license on here here [Music] um that looks fine yeah that all looks really good okay awesome thanks a lot s oh no

problem yeah thanks for coming out all right so I can erase that and then we can take a look at the um other things to review oh uh I'm Tina from 707 so oh hey sorry I didn't know uh oh yeah also one of the agendas oh uh which which one s 707 707 to review the fourth one this

here yeah yeah all right let's take a look did you have any specific questions um no questions we just update this standard so want move it to yeah take a look all right draft for review okay okay domistic machine learning okay um

um okay uh uh so verify let's put this in Split mode that'll make this a little easier to read and then get of that okay all right so the verifiable AI

generated content from non fible tokens added as an extension of USC 721 token C for aigc okay pop that open good a mint yep mint V good Jon optimistic machine learning capabilities verification the igc correctness token is index by The Prompt okay so inst to extend the existing ST stand to K start input the interface for addition functionality related to the minting verifying and enumerating okayu for

information okay okay okay I think that makes sense so for

okay's simplement the okay so um for

subed see actually make that change here okay so yours is called IC 707 so I look something like

this then 721 I think it's called just U 721 but I don't check it all that often yeah and same with 165 yeah just 165 okay yeah so I think that makes sense cool now uh the verifiable standard gluey

interfaces good defensive Min function yep that's fine I'm going to assume your solidity Works um optional extension obtainable so okay so what heading are we at we're at two so I guess we want three for this one is optional for smart contracts tokens UPL okay change

challenge period good okay then you have your medat schema for reference [Music] good okay tokens the schema n holders don't have the right to choose the prompt which must create a product a predefined machine learning model we want to get the right of the prom creation back to Holders okay so this chunk here

okay specifications construction IDE good yep that makes sense uh this specification accommodates two proof types proofs function okay so um okay verify interface Force the correctness view function St Gast or if I should so me verify is below okay yeah

that makes sense okayy these get proof yeah so just um up here the if these are functions like these ones just put them in back text that's all um oh yeah yeah okay okay yeah uh um we specify a mint interface Bu The Prompt and aigc data with token ID oops turn true

before finalization the consideration here is [Music] okay um using so this may here is this like supposed

to be creating requirement are you saying that like people should not allow minting until finalization or is this just like a a general kind of best prti just like a general General best prti uh no cap okay yeah um if you want you can use like italics or bold to kind of indicate that it's special but um just don't use the all caps yeah that makes sense that looks good backwards compatibility yep test cases

good fr risk yep good good your copyright notice looks good um okay so that that's an important one we

really can't um have unlicensed code in here oh okay okay yeah Al which license is better maybe cc0 MIT is fine yeah cc0 is what we like but you can do MIT if you want okay yeah okay yeah so they they really just all need to be changed I'm just going to note them all here um just so I remember

to check them um okay doesn't have a license and yeah okay so there we go awesome thanks so much for coming out uh I hope that's helpful um and yeah yeah feel free to reach out to me if you have any other questions uh so after I update this we need to comment again or uh somebody will look at it a it like once you once you push to your P request

somebody will look at it eventually um it is somewhat faster if you show up on the review call but it's not required ah so so is uh next week the same time uh it's I believe it's every two weeks let me check um oh okay yeah so the next one is on February 20th um same time okay thank you no problem take care bye all right let's go through some of

these other ones then um since I'm the only one on the call I'm not going to be doing this out loud um sorry to anybody watching the recording hey did you have uh an e you wanted me

to look at or hey yeah sorry I didn't see your chat

there um yeah this is definitely the place to um uh ask questions and such um hey uh yeah so what what do you want to know what questions do you have hey hey hello uh great to great to meet you great to connect uh yeah I was just curious about um the whole process for submitting an EIP and uh yeah what are the kind of like first steps to take to start like what's the initial what's the best way to initiate the process basically sure um so let me start by saying that it's very author driven uh so like you you

create your Port request you um when you're ready you decide when to advance it between the statuses um that's all up to the person writing the EIP um a good first step is probably to see if there's Community interest in The Proposal that you're working on um if if you don't have a group of people that want to collaborate it's probably not the best fit for the EIP process and we usually do that on The ethereum Magicians um Forum um this one right here um there we go and then um if you decide that you're ready to move forward and

that there's enough interest in the community uh you write up a draft of your proposal um a draft doesn't have to be complete you can leave some sections empty or or TBD um the only real requirement is that uh you have the the technical portion mostly written uh and then you put up a PO request for that um there's a template in the erc's repository or the eips repository depending on what type of thing you're submitting um yeah and then when editor will eventually get around to looking at it and then you'll get assigned uh an EIP number and your portal request will

be merged uh and then when you're ready and you you've uh completed the document and you're looking for review from outside people um you make a PO request updating it to review Once you're satisfied that you've collected enough review you can open a PO request to move it into last call and then into final when you're all done um I guess the only other important thing is that final really does mean final so once it's in final you can't edit it anymore mhm and that's kind of the 30 second overview of the whole process great thank you so much and uh you mentioned that there is a number that is being assigned is there any kind of space for um

um like um basically providing preferences no so they are just designed in the order that we received them okay okay so it's pretty random then there is no way to know yeah exactly so so we try very hard to discourage people from try trying to get specific numbers uh we had a lot of problems with Spam on our repositories for a while people would just post stuff to try and get like a pretty number for their EIP um so we just assign first come first serve now so right yeah and so does it mean you had already 7,000 of

them uh so we had 7,000 poll requests and issues the original way we were assigning numbers is just based on the uh the number that that GitHub generates here uh We've s we've since switched to assigning them based on a spreadsheet so um no I think there's about 700 I think total yeah there's a lot less awesome yeah cool so the erc20 was like in the very early days of the e oh very very early yeah yeah okay and so is there a re so the I

suppose the recording will be available of this presentation yeah yeah I mean and I'm here every two weeks if you want to come in and ask any questions or if you need any help uh the next one is February 20th at the same time okay great yeah and then what's the kind of uh timeline um is it like weeks months um it's it's probably months I mean I'm I'm reviewing stuff from early December right now um but the nice thing about the EIP process is that it doesn't stop you from implementing stuff on your own you don't need to wait for the standard to be

finished to make your prototypes so um you don't you don't necessarily need to wait for us to to start working on stuff what uh what do you think you're proposing like what are you working on Yeah so basically we are um um where to start so the whole concept is is this idea of immutable points um so there is the soulbound token which is um an nft type you know with like non-fungible with text Data uh and so this is great for like one of you know you want to prove one specific thing to one specific person um but we are looking at way to um use numbers

primarily um and provide context as a kind of like secondary ingredient okay yeah so the the whole concept is that you are able to compound um those those points across um your your journey and then the smart contracts can communicate with one another we believe that standards are great for allowing uh ecosystems to interoperate better and yeah that sounds useful yeah exactly so so points the goal is to have like a non-transferable erc20 and I'm very surprised that it doesn't exist already yeah so on that note covering up my screen

here there is somewhere in here something that is similar did they change it they must have changeed that I was doing some research on the platform and I could not find yeah there there is a token or that somebody made for this mhm um but I think they must have renamed it um CU it used to be called like um experience token or something like that [Music] um

maybe yeah it could be XP um yeah because I definitely remember approving a token for that but now it is gone um so in in video games it's usually called XP like experience points so many yeah yeah yeah so that let's see let's do whole word yeah

so well there's one option but I doubt that's that's the one um but yes I know I know one exists I can't find it right now but one exists so um see abstract token token soulbound would be [Music] better so bound consensual semantic so bound badges yeah anyways it exists I promise you that someone has um started thinking

about this but it doesn't have the additional context that you were talking about um yeah so the the goal basically is to allow um users to accumulate something that is not money but that represents their merits and there are lots of potential applications for this one of them being um solving the congestion problem so let's say you know the price goes up and the gas the gas fee goes up and me Bots are making a lot of money yep maybe there should be a way for high value creators who don't necessarily have the the means to afford those expensive

transactions to keep participating in the in the ecosystem yeah because somebody feels like it's worthwhile for them to uh that makes sense yeah no I think that's definitely worth it um and I I I think people would be interested in working on it I think the only thing we got to do is figure out where the old token is and then yeah there it is from something that was already done and audited and approved for sure yeah I think it's 4974 apparently uh what did they rename it to 4974 ratings that's not a descriptive title at all um yeah so this might be a good

place to start from cool I thank you so much I will look into it I I just shared a link to a video that I recorded it's a 10 minutes presentation about the whole concept oh nice okay yeah I'll take a look at that and feel free to to share it around if um if you see any good fit with u with community members so so you recommend to to hang out at The ethereum Magicians as like yeah yeah the the first step is usually to like informally make a post and see if people are interested um it's not required so like you don't need like you know six people from the community

to like approve your idea before you get started you don't need to do that um it's just that like convention is to see how much interest there is before opening a PR yeah of course it makes sense it's kind of it remains me um so in France we have this concept where if you want to run for president you first need to collect 500 signatures from Mayors from Mayors really yeah yeah so you have to go all over the country and meet Mayors we have 36,000 Mayors and you just need 500 of them to approve for you to run uh which kind of prevents you know the kind of like like the yeah Sab attacks on

addictions oh that's cool yeah that's interesting yeah so nothing that formal here um just like a temperature check and then right yeah cool well thank you so much that's very helpful and thank you mlin for uh pointing me in the direction of this space yeah thanks for coming out looking forward to to reading your proposal and I will apologize in advance for how long it takes so yeah yeah I'm oh go ahead the number starts to exist from the submission uh yeah so um there we have a volunteer who assigns numbers so you'll get a comment in your PR very quickly

with a number MH and then that that'll be your number yeah cool so it means that uh once it's created and and is there like any form of uh I don't know trying to to pitch it to like the Brer community and have them to support it or like is there any effort to do to like gather uh support from from the community or is it so unfortunately we're just kind of like document management so uh we don't we don't really do any of the like Community Building or or pushing for it to be adopted um we're trying to kind of get into that but um that that's all on you right now unfortunately I meant more uh if we once it's submitted like does it

help to kind of uh Reach Out oh yes like hey this is our EIP please have a look and you know yeah yeah definitely there's um yes there's a peep actually is great um that's the podcast Puja does um okay yeah so that that that's great if you want to go and talk on there um and then there's a lot of communities like I think openc has a pretty active developer Community uh there's an nft community that uh might be interested something like this um but really The Forum is where you're going to find all of like that's where you're going to start getting connections and then can go from there okay sweet awesome awesome

great uh I have to take off uh thanks for coming yeah thank you so much have a great day see you see you