NEAR EVM Working Group Update [2021-01-08]
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
Follow the latest from NEAR Protocol on,
Website: nearprotocol.com Discord: near.ai/discord Medium: near.ai/medium Twitter: near.ai/twitter GitHub: near.ai/github
#WhiteboardSeries #Blockchain #FutureIsNEAR
Transcript
9,079 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:28
e e e
- 1:58
e e e
- 3:28
e e e
- 4:58
e e e
- 6:28
e e e e
- 8:16
hey Alex hello guys hello hey Alex nice that you could uh join us for a second today I know it's holidays over there um I'm not I'm not seeing what I'm expecting on the UI um like it looks like it's already live right we are already live Live on YouTube yeah H everybody we're already streaming on the YouTube so so no no additional okay um you would need to make me the host order to share the screen
- 9:21
okay hey guys he same second um I I yeah I see I see good good so now I can I can share the screen yeah have a nice uh thanks Alex and talk to you on Monday okay so let's wait a little bit we have everybody I will share the screen so we have um in the discussions we have the agenda but uh we need to wait for Ilia Ilia to join and maybe Ean is not joining this early
- 10:31
in any case you can all get get the link in front of you and I put it in the YouTube uh chat as well in case we have people watching let me let me hand up the rest of the people and then we can start I'll stop the sh for now e
- 11:45
hi nice to have you with us as well hi will you be will you be joining us still every every week or just Hing in today probably not every week it's if I have done something every week I'll join uh otherwise like if I didn't do anything that B I will skip okay um while while we have you uh would you have uh sometime next Monday to join our okr review yeah sure great did you get the calendar entry Alex sent for
- 12:25
that I think so okay um um I think there's two two meetings on Monday about okrs the one might be too early early for you but um if you if you join the team sync um that should be a reasonable time 9:00 your time okay hiam so I think we have um we have everybody and we can get it going uh so yes we are already live on on YouTube and hello everybody this is the evm working groups uh weekly public sync
- 12:59
and this is the first one now in three weeks um after the holidays let me share my screen here and you can find um our discussions in the near cor repository and we keep the meeting agenda and the meeting notes there and we have the YouTube YouTube link there as well in case you want somebody wants to share it to others um so the agenda for today um I suggest is the the following we let's discuss the
- 13:31
current goal especially good after the long holidays and uh do the weekly updates fairly quickly I don't think anybody has anything significant to report and then let's let's talk about um what we're going to do um in the next few weeks uh including importantly there's been some good work from from Ilia on Raw ethereum transaction relas report uh we have a big discussion about
- 13:57
the native evm token that we need to move along um i' prefer to have Alex shenko with us on on that discussion but we can we can discuss a little bit today and I know Mike is working on on a blog post he would like to get out so does anybody have anything to add to the agenda today I guess I I would be curious to hear what's the status of the uh uh The Meta transaction really as well okay
- 14:29
let's add that here okay good uh so let's get going uh the the current goal of our development is towards the uh phase two uh which is the deset delivery and uh we um hold on I'm missing something here my notes um yeah and the the agenda for the next couple of weeks is to is to align all the stakeholders internally and uh with input from external stakeholders potential stakeholders on how our
- 15:15
architecture should look for a evm we we still have some some questions in that regard um the perhaps most significant one being um the question about the native evm token which which token should we be using is it should we be using the near token inside our ethereum runtime or should it be perhaps some form of f bridged or wrapped over uh from S1 uh so that's a that's a big discussion but let's touch on it a little bit today uh there are other
- 15:49
questions um that Ilia and Alex and I have been discussing over the holidays uh some of those um um concern the the long-term Outlook um how would we unify contract storage so that we we don't have a separate mechanism um inside the evm and and the the native Native runtime IIA what was your preferred term for the native runtime was it base runtime yeah base runtime okay okay I I'll call it that then um yeah so right
- 16:23
now we we store um contract storage is entirely separated between between the two and the evm is like a black black box and we should maybe open up this box a little bit going forward um there's also also questions about the account model and um and ultimately what level of visibility um ethereum use should be afforded in terms of our wallet interfaces and the like so we can we can come back to those those things later uh
- 16:55
so for the weekly weekly update um I like is is out of the office given the uh holidays um orthodox holidays um but I'll give you this update so as as I mentioned with il and me he's been working on sketching out a lot of the user scenarios use use cases for the evm is working on on diagramming um diagramming everything in terms of the system architecture and the user stories and he'll have something to present next week and he started this uh discussion on the Forum this week on on the native
- 17:35
token um he's also set up um uh for next week he set up um Bridge evm team cross Sy call because we have a lot of questions that concern both teams I think that's uh sometime later Monday um on on on my end um I've been doing the a four mentioned with Alex anilia and uh I been on boarding uh myself as in um after discussions with Eugen and Max I've agreed to take on as evm team lead and that means that Eugen can focus more on the runtime
- 18:16
matters um he was being stretched in too many directions and uh so I've been going through through a lot of onboarding this week um with Max and others and um other than that mostly the week has been reviewing B requests a whole bunch of them um B yeah I'm mostly just uh addressing comments from Eugene and uh adding comments in uh in the meta transaction passing yeah I saw the the updates to
- 18:54
the requests uh and and we merged the we mered full request I believe so all all of your work in that regard is now in master yeah Yi we don't have him today I think it's a little early in San Francisco no I I I finally joined ah okay hello go go ahead yeah I basically just reviewed uh a bunch of PRS but but that's it didn't spend as much time yeah and and I noticed you you posted also on the Forum in the native token discussion M okay so it's good good we
- 19:41
have you since we're going to discuss that a little bit um I know Frank Frank had personal matters um this week so nothing to report I believe that's correct yeah okay so resume next week on that uh IIA would you like to a little bit speak about um um the work you did on the raw transactions reports yeah so uh I mean high level pretty much been testing out a little bit um how to deploy some contracts and so some of the contract deployment
- 20:20
uses uh HD wallet on the like on the travle side for example for a predictable uh key like pretty much for signing transactions as a specific key so instead of Genera a new one and uh so that kind of span out into uh like that we need you know to handle a already signed transactions and so so we have this RPC proxy that is pretty much just runs web three provider and like takes all the Jon requests and
- 20:54
just calls RPC provider with them and so we did not have RPC provider hand that so I added handle handling for that there which required actually adding in near core ability to process a kind of completely signed ethereum transaction it works pretty much the same way as metac call so it's a signed transaction ethereum transaction uh from signature you can infer the uh signer the address who signed it and then we have you know the like who who it's targeted to what
- 21:27
the data was and how much value was signed and the chain ID as well right yeah and so chain ID comes from a signature as well yeah yeah and so and like actually one caveat is that ethereum does not require chain ID to be there right so chain ID is there only in some transactions so it's like um and yeah so this is so PR is there I'm still uh testing some things but uh so far it works I have I have deployed that actual actual contract into the
- 22:04
into betet that I was where it started from so this this this is both PRS to the neore and to web provider right and and U i' I've reviewed both um this this one I had to uh rebase yesterday it was a difficult rebase because we had the evm phase 2 Branch so that bit Us in the ass on that one but um I I believe I I've correct cor rebased it and it does build so if you have a chance you can you can check yeah and I also saw you
- 22:36
had like a couple comments uh so I'm going to address them and uh we can if everything else looks correct we can submit yeah I think I think it's good to merge even as is because you know this this comment is about um something that was already pre-existing in the code it's not about your PR I think I actually already fix this I just need to write a test that actually test this okay I mean I can split it into separate
- 23:01
PR that's fine okay yeah I would I would just go ahead and merge this my only question was um did you want specifically somebody else's review on this as well before we put it in master uh well I mean like um if if somebody wants to take a look but but okay you were not waiting on any anybody else so in that case no we'll M it after the meeting um I can take a look if there's any changes
- 23:33
that kind protocol bump or anything that missing okay all right oh just do go ahead um this m this Z I think requires a hard for so actually the question is like yeah uh when are we going to hard Fork datet this new version do we have a so okay so basically if if you bumped a version of evm feature mhm in then it will hard for uh better than that I guess got it if it's still a manual process then pink send
- 24:15
it in other words um Eugene Andia you you both saying we should deploy to B on it as soon as possible which would be of course helpful for Mike's block post and the like I mean yeah exactly if we you merge anything to to master then betet should be like next day automatically updated once once you have the pipeline all right um anything else from you no that's all okay um Mike yeah so it's mostly been um covering as much as basically everything that I understand about how people can
- 24:56
use the evm I'm putting into the majority is now in documentation um and in separate sections I think there's like seven or eight different sections about you know testing um you know how to use truffle how to use web3 provider how to do the most basic simple script how near CLI can interact with it um and then the blog post highlights these different sections and kind of gives like a teaser and just gives an update on where things are at because I think our last blog
- 25:28
post was from almost a year ago um and then also have been talking a little bit to I guess the infrastructure team um I I think that we don't have the same kind of alerts going on and so there were some timeouts on betanet I think because you know it wasn't as important until recently so we're getting those in tiptop shape so that when we sort of invite the community to start using the evm on beta net things will work as expected um I think that that is like
- 25:58
the the final push for me I'm still kind of wrapping my head around what the RPC proxy means in terms of like priorities and where it's at and you know should we be targeting hard hat for instance or should we just kind of be expecting that people can point most things to the to the RPC proxy although I see there's a lot of routes that are not not done yet so I'm I'm kind of learning about that
- 26:23
and how to advise um folks who want to start using this okay yeah those are good questions and um I guess we can we can segue into the discussion from that um I think it's great we have a provider we can use both uh in the RPC proxy as well as people can pull it into the front end code so so that's a that's a good good job on that um actually one thing we we we didn't have on the agenda but should be
- 26:55
here um Ilia had expressed a desire to merge the the RPC proxy and um the the relayer code bases so this is something we should probably discuss but okay so so um first let me let me note that so I already mentioned that team team organization changing a little bit so it's nice to have B here but Bo is pulled away um Mike you do you know already how you will be pulled way to which extent I think I'll know more after we have okrs for um Barry Pickers team when when will that be
- 27:38
within the next week and week I believe okay I don't have strong feelings that I am immediately pulled off evm I think this is a pretty big priority especially right now okay um given that we defining the evm okrs on Monday uh if there's any any input you would have that that would that would be already very good um and other than that the team organization is is um well understaffed at the moment which means that U there's pretty active recruitment going on and I
- 28:12
would also encourage everybody um everybody to think of any any friends colleagues former colleagues that they they know about who we might approach and uh send all of that in my my direction I will screen them ASAP up and we will get Max on the case if uh if you would like to proceed so very very active recruitment efforts in J January given that we have a we have something we want to ship this qu um okay
- 28:46
so I'll I'll I'll talk to you guys one on one on on other other questions about the team organization let's go to the discussion so Ilia uh how do how did you see the merge of the proxy and relay code bases which one should we merge to which repository we could do way so proxy is already behaving as a relayer right because it has it has a signer in it and it is able to sign transactions so I think we should just merge in like add kind of another the just URL for the
- 29:19
uh relayer into the proxy okay uh that makes sense because it and and so there's like the the so kind of Mike you were asking like like the kind of the scope of proxy right now so right now proxy does everything and and will continue doing everything that web three provider do does so like all the routes that are not implemented is the routes that not implemented the provider in the first place right and the the the missing
- 29:50
pieces in the proxy are mostly around actual like Key Management right like making sure that uh like you you can start it in kind of read only mode or you can start it in like in you know in the like right now pretty much is kind of a debug mode right where you know it can sign it will sign whatever you give it uh which is obviously not always good so this is where we should have this
- 30:15
logic of like relaying logic kind of there which allows to calculate yeah if you want to if you want to do the if you want to relay this or not and so be able to configure a pro was that okay um me meanwhile while we were talking I made a bit of a oops wrong wrong keystroke and and lost the notes I'll have to reconstruct them from the video um in in any case um okay so that's that's clear and um are are you planning to to do that yourself or or
- 30:46
should I your mic go ahead and do that uh I I can take a look uh as I'm kind of uh looking through this I guess like if you guys can talk me through or and and kind of update on what metat TX relay status just I know you guys been working on that yeah yeah so Mike Mike can you talk on that I also um talk with you ear about potentially making a screencast on that um did you did you have a chance to do that yet definitely no I I still owe you that that screencast so the State of Affairs on The Meta transactions on that
- 31:18
are kind of the same as they've been for a while which is Bare Bones in terms of um you can pop up metamask do assigned typed message EIP 712 and then send that to you know kind of the the old version of the the relayer and that could basically say here's the message here's the signature um we can recover this uh so so that that was it and then at that point I I think I was not quite sure how to put that into the actual like new core or what to send and how to you know
- 31:54
package the bites um so that has really changed along that and it seems like just the EIP 712 kind of logic U which is essentially just importing some libraries is all that we would really need to add to the RPC proxy that was really the the only offering that the RPC proxy doesn't have that the old realer does I believe okay okay um well I was also getting getting set up with the full flow for the meta made a Madea transactions um
- 32:30
few weeks back but I had I ran into some trouble um I didn't have a chance to to redo the flow IIA yet so I I don't remember what the problem was I will try to do that soonest um it is there anything else that you you would want to ask on on that front from Mike while we have him on the call well I think the one one side was if if you you thought through the flow on a how like front end would be pulling for the like how front end would be checking with the relayer like what
- 33:05
price would relayer pretty much be okay with uh because I think like when when when for this like rock calls it also needs that because like pretty pretty much the rock call it it has a gas price and gas amount but this is really like it's not near as gas price G at least right now uh so we we're going to be but like we the plan is to deduct that from this users balance and put it to relayer balance uh so relayer needs to approve that it it's okay was you know was being
- 33:36
paid this much um now on that on that front there's something interesting that Alex proposed um now this this assumes that let's say we were actually going to use a base token native token of f but suppose we did that then in in in that case U it would be a straightforward extension of your of your current work with transactions um that we would uh we would add one more field uh to to the transaction that is relate um and that would be the evm address as in the the
- 34:10
the public key that should receive payment in F for relaying the transaction to the network uh so it could be handled handled like that yeah so we don't need that because who's paid is the person who send a transaction in the first place so we already have the relayer ID so we don't need to extend it uh the for for RO transaction it even presumably works if we so the there's the RPC point which is gas price so you can just ask this proxy relayer for the gas price and it should just give you
- 34:45
the price that it's okay with kind of paying uh but it's still it's still it's still the like uh the amount but but for meta calls we need this flow as well because I like meta calls don't have this flow naturally right so I guess maybe my my question for me is like H how like MVP are we going now um because when you say like you're asking the proxy RPC to say hey it's only worth my time if you pay me
- 35:22
this much that that sounds like we're kind of like having a an MVP version where it's like um one one relayer basically is that how what we're kind of focusing on now before sort of saying hey the to the community of relays I am willing to pay this um that was kind of what I was imagining to be like the ultimate goal am I tracking this correctly or no uh well let's go back to the box diagram
- 35:53
that Alex drew us the previous time I think that that helps to discuss the topic so this is in the previous call from 3 weeks ago um so Alex's notion was that um we would have a ecosystem of relus um who could offer something like a market price for gases and they can set the gas limits um we we are not going to we not going to be interested to relay transactions unless you you
- 36:25
know meet this criteria and from that would emerge emerge some kind of market rate and on a on the client side when you relay transactions through whatever Library U you could do the same as gas gas station network clients do which is that if if a relayer rejects your transaction for any reason you can retry the next one and there can be some sort of prioritization based on well arbitary criteria including quality of service uh and cost um ultimately for for selecting
- 36:56
which which want to contact First um does that make sense to to you yeah but but I think the the core Point even even if you have a lot of layers right you still want to fetch like you still want to ask a layer for what's what's a kind of price tag is right because like I mean that's what G gas station is gas station gives you a price tag yeah but importantly you don't ask each gas
- 37:20
station so so there's kind of a need for some kind of a directory no no on gas gas I mean gas station not gas station Network the gas station whatever iio you ask gas station it tells you what's the current market price so you need that piece somewhere and right like if nothing else it's like relay should expose it so you can actually ask them like what's their price yeah because
- 37:44
like gas station gives you the network price which we also have right um and so one option is is just like you lit you literally ask what's the current near uh gas price and and you submit with that and then you retry with like a little bit pay a little bit higher and stuff like this but I I mean but like because you're asking anyway anyway the relayer right it can tell you like the
- 38:08
the the problem here is like the relayer can tell you whatever they want right it's also the that's why you need a lot of them you you you kind of wanna you want your choice to find the the best one and have a competing Dynamics yeah and of course we have questions on that that let's say that the relayer accepts the transaction but then it actually never submits it to the network it drops it on the floor um we we have some
- 38:32
questions around that I mean those are we have some prior example how those are solved on the gas station network but they are not necessarily comprehensively solved or even credibly so we have some thinking to do on that uh but but in any case are we are we aligned that it's um we would like to see something like an ecosystem of relays um who would in some sense compete with each other to to relay
- 38:55
transactions so I mean in general yes but I also like for for definitely for MVP I would I would Target similar approach to what we have right now is RPC is like we want a lot of RPC providers but like there should be also one that kind of you know semi reasonable that people just you know applying yeah like it's the same as in fer right you just you know yes there is other options you can also run your own you can you know yeah exactly rent stuff so it can be Alchemy but like in fura kind of works
- 39:28
yeah I feel like well well right right now um concretely the first RPC proxy endpoint is running on my VPS in Amsterdam so that's a that's a good start I'll I'll upgrade it to the latest code soon your code and um yeah maybe maybe we can think of making something like that public or semiu um might have to upgrade my VPS good problem to have yeah well we can I mean I think near I mean it can be part of in service yeah sure just boot
- 40:02
bootstrapping it for a moment um okay so so we have uh we have some more work to do on on on the conceptual model there but um maybe we know the direction we're going in as in U indeed there would be some set of layers um the end developer or the library R would would include some Logic for selecting the relay they would want to talk to unless it's manually configured um and and maybe having some some sort
- 40:30
of retry logic ultimately uh and and then the the process is that it's one way or another it's indeed wrapped into a new transaction and and we we will handle handle it um we will handle even the the RO transactions given given this report you've added in the last weeks so that's that's a pretty good step forward we it means it means that um we are not far off from being able to test with arbitary
- 41:00
ethereum apps and deps and and clients and whatever and and I also tried with like you can actually add that RPC into metamask and get some something going as well uh did did that work out okay as in is metamask giving you any errors uh I mean I think I handled some but I need to double check u i I'll update on that real quick too I I posted in Discord like something that I saw um when trying to fiddle with the pet shop
- 41:33
and and do that and it it seemed to be like some gas stuff it couldn't determine the balance and yeah exactly there's like few few few end points I think still still missing for sure okay but yeah pretty pretty promising and um I'm also looking to get set up with that um probably Monday latest um okay so that's that's very very nice progress moving forward um then we have U let's let's
- 42:04
deal with the block post question so so Mike you let's see if I have I don't have the link here on my My Demo account where can I find it it's near talks right that's where the pr is okay yeah even content okay um 5 six8 and uh you have a whole whole bunch of um new tutorials here or I guess it's kind of mixed tutorial and and reference dos um he said that the the the one that
- 42:51
you develop the least so far is the RPC server um that's can use some more input perhaps but were you otherwise otherwise now happy with this PR and and I could R you and merch yes okay good and um let's see where we can the render link is fixed as well I believe yes right so we are develop here there so we have a whole bunch of new new pages there be helpful to people and given that the the blog post itself is um I
- 43:35
guess cut down to size quite a lot yep there's a lot of links giving a basic description and um in the blog post that links to these okay um and is your plan still to publish it today I would like to do that um I think we can do a final pass I've started it so so much that um I probably need some a final you know review but that be that'd be great to let our you know I'm excited to invite our community in so I'd love to publish that okay any any
- 44:06
objections from uh I you reviewed it as well uh I haven't reviewed the latest version I I can I'll take a look after this meeting okay like likewise for me and but overall sounds good all right yeah let's let's get that out and um hopefully we actually get some people feeding on betet for nice um okay and then we have the the contentious topic potentially contentious topic the native evm token and um on that we already have a long discussion going here on the
- 44:42
Forum many many viewpoints um does does everybody know what this is so or should we introduce the subject a little bit guess everybody knows okay so yeah um right now we using Mir um exclusively for for um paying um well in in the form of account balances on the EVN that's that's what it comes down to right and um there is a proposal um that perhaps it will make sense from a business perspective um from from an end user perspective that
- 45:21
it would be F and um that is technically complex compared to near but it would have some some benefits to it and Alex has tried to summarize here some of them M way in here as well um does anybody have anything new to add on this new thoughts how sure we deal with this topic IIA you I understand that um you had um you had come closer to the sort of the middle of the fence on this as you
- 45:58
can see both sides see some trade-offs on on each side of the fence yeah like just to clarify the the comp the the complexity of the implementation is actually not that big the the only difference is that instead of so right now when we have deposit and withdraw we are making a promise call uh with a transfer action and actually instead will need to have a per evm parameter which says which token we want to use and then the promises will be the
- 46:38
calling transfer or transfer uh from for the um for that token so it's pretty much transitioning from using like the base token of like our our kind of Base runtime to using any token and then any any any St like token standard pretty much and then so what what like the the kind of the main issues here is mostly just our dependency on the toking standard on the protocol level yeah yeah which is which is certainly a
- 47:17
concern um well this is this is probably one of those cases where we we would really benefit if we had uh let's say somebody outside of the core team also so far we don't seem to have any anybody from the community yeah I I would I would Source some opinions from people so I mean Eiger from zero pool mentioned that like everybody else is using their own token but I would I would actually like it's
- 47:47
worth going out yeah and and sourcing some folks uh who are like ethereum kind of Builders currently and and seeing what are their uh kind of thoughts on this yeah I would also I would also not begin from the point of view of what everybody else is doing as in sure there's a lot of evm compatible chains but uh none of them I use yeah none of them are particularly credible um so what what would set us apart maybe something like
- 48:18
this and um what's the like big benefit of having it naely on the protocol versus as part of the contract on evm site so like if we say a meta call can charge any balance yeah yeah so metal can can already can charge any any token uh the so the difference mostly is twofold one is what a raw raw transaction costs would be charging because they're charging the base token and the the second one is what is the
- 48:57
like what is actually that base token that is inside the contracts that's used right uh so like if you launch a Unis swap right on on inside evm right the base token is what they use in the middle uh and so that will Define like you know which pairs it will be I think the so right now like I did some experiments with like madic for example and even though you can enter the the token handle like madic token but
- 49:27
the metamask for example still shows you the uh the ethereum logo for for the mic token so like in general support is not like super robust and go yeah no and then like in general right this kind of like transaction fee like showing transaction fees and and pulling the prices for the tokens and stuff like this is not very well done kind of in like not very well custo not very customized uh from this is this is a this is um one of the big concerns in terms of um the the developer experience
- 50:09
that um most most um deps even if they have localization for example say that they're available in 20 languages well they in any case they're going to hard code the Assumption perhaps reasonably that they're dealing with f as in the the if balance is f they're going to be pulling the f price from some Oracle and all the conversions are assuming that is f so it's it's not a it's not a trivial thing for somebody to change an application that has such a hardcoded
- 50:41
assumption um if you just pull the rug under them and uh swap that to some something else then they're going to have to rework large parts of the application which is not a not a great developer experience so so that's that's one of the motivating concerns here it it means we can only target etherum Developers for developing for evm because let's say I like evm but I also like near wallet I
- 51:12
want to build an application that is not using metamask so the challenge they going to be I need to think how to get wrapped e token first on near side to to deal with like let's say Unis swap on evm side because if I don't have native or like I don't have wrapped is then in order for me to start using Unis swap onm I need to First acquire R is somewhere so it also makes it complicated on wait wait wait wait that
- 51:51
that's not particularly true so so if you're if you're but let's be specific you're saying you're an application in a base runtime or or you're just a developer who wants to use evm uh who you're building a new application and integration like native yeah yeah around time and like well and and so so you want to use a Unis swap inside evm right so I mean like the there's there's no real
- 52:24
difference right I mean like you you either way want let's say you want to exchange near for uh for die right and you want to use Unis swap so I mean there's difference definitely that that Unis that Unis swap has like near DI pair or not but uh there's no difference between saying I want to exchange one token to another like you know balancer for example will just do it for you um like it will just find the pools that
- 52:50
will exchange the two tokens it doesn't matter what uh like pay token and you still pay paying fees a near like the near wallet still works no I understand I I mean I don't understand how um non ethereum users can use evm like if I don't have ethereum and I have Line near how can POS the balance of what like it's any other token you need to deposit like if you have die in outside of evm and you need
- 53:30
to deposit it no let's say I I need I want to buy some ethereum token or like some some token on vmite if all contracts are using rupt is and I don't have it where do I supposed to get it through the bridge first place no no no no I mean you have near right you just you just buy a token you want to buy for near like there will be pairs inside evm in Unis Swap and in balancer which are near to e is to die so if you want to buy if you have near and you want to buy Dy you go there and you ask
- 54:08
I want to buy D for near and it gives you like you know one inch find the best things cannot deposit it right why it's a token it's the same as Tok I need to Rob to transfer to evm some first yeah right the bridge would come in but uh uh the first question I would ask you is that and this is important for our user stories which users did you have in mind who would want to use the evm but are not F1 users U because we are not we are not taking into account anybody like that in
- 54:40
our user stories right now and if there is somebody then it looks like we building like just a another ethereum chain that is not integrated with Native near applications but I always benefit I don't agree with that like so again I I I I actually like let's go back to what Eugene was saying like you do not need a bridge you do not need to have the the the token balance the base token balance inside evm to use
- 55:14
evm like it's the same thing is actually you don't need to have e to use ethereum if if all the things had meta calls working right right and and so From perspective of em you have a near wallet is meta calls you're paying transaction fees in near and you can do whatever you want inside evm like complete Freedom well it's not met it's native calls yeah I know but like from From perspective From perspective of evm right the base
- 55:44
talking is integration of like native contracts this evm yes um they will need to operate on uh either rra is on near side or rra near which makes it all calls that go to evm if they don't have a native balance within evm which is probably weird but um we'll have to go through the token standard first like token contract on Native side that will call a VM for conversion and later executing versus if you have aach balance in Native near then they can natively call evm and
- 56:36
start interacting with Unis potentially so like it it removes one extra step I don't know if it's will be pain Point down the line so so this part was specifically Unis swap I agree yeah so swap is where if you want to exchange near for something and you want to use it it is easier if near is based token every single other app which are like balancer lending apps Etc none of them actually using message
- 57:10
value uh for acceptance so you will need to wrap your stuff first anyway right like balancer you know uses rap uh and like DDX using rapd you know all of the people using rapd as a because they don't want to write you custom code like they want to use one standard for everything yeah yeah and actually actually we might perhaps just state that r e is more important for defy than eth
- 57:39
itself yeah I mean my my point is like that if you if you have near like if you have an application in base run time that's calling application inside evm for the most part you will need to wrap your near into a rc20 on inside evm to actually to use it anyway so I think like making that like a standard thing is actually probably you know uh makes sense well and also also from the point of view of what we would uh what we would want just if you take a
- 58:11
step back from the details and think about somebody who's um s developer s user um we would we would want I think that um they could Bridge their their in particular F but of of course other tokens too they could Bridge Swit them easily um across F1 our evm and our base base run time as in maybe we are calling it NF on the base run time EF on the evm and then you have and R death on F1 but
- 58:43
but in any case um we would want right that when people have one F in in one of these Realms they they would feel confident that they have one F and that they can Bridge it to for example back to F1 at any time and and so that's that's that's kind of the starting point it doesn't guarantee that the native token should be still W this no no no it's a separate question you need to have a w this yeah it's a separate question but in any case I think that's a starting point for for how a user
- 59:18
would hope that all of this would work um and then once you once you have the ability to bridge U especially F very easily move it around in this way of course I know right now we have delays in the bridging in some directions but assuming those can be solved uh then then from the user perspective it might make sense that for example um let's say in in in in metamask um I I go to the I go to the
- 59:45
bridge on F1 I have my metamask connected I get an address to to send to which is going to magically credit the the same amount of F I sent to to the same address on the ebm side and and that all happens pretty quick then that's that's a pretty nice user experience that even even if somebody was changing you know in metamask the the network the same way as we change between this net and and Main net um you could just see that ultimately what it comes down to is that you know one Nest disappeared from from this balance here
- 1:00:15
I changed to that Network whoa I got one Nest there that that would be great right I mean that's what I would expect as a user yeah my main argument it's going to be that embedding something on a contract and with the protocol will make it very complicated so so make it at Native toen on evm and connecting it to some standard I I fully I fully agree that on a contract level we'll first look all the contract
- 1:00:54
side apis such just like a Json host methods and stuff like this even so we can upgrade it we cannot stop supporting old versions ever because there's going to be application built on top of them so but it's true about any standard yeah that's why we don't link them right now at all to to Native implementation so only one way to contracts are dependent on protocol not not other way yeah now you you I I think I think I'm perfectly with you on on how um technically burdensome and complex
- 1:01:33
and and perhaps risky in some regard all of this is uh I'm just uh starting from the user point of view that this is what one would like to see maybe maybe there are constraints like this that prevent us from building it uh but at least it's a good idea to try to start what what we would like to see and then if we can't do it we can't do it or if we shouldn't do it we shouldn't do it
- 1:01:56
well but it seems I I still don't have full benefits I understand the like the Unis swap use case that it will display it correctly without changes at the same time working with tools is probably reasonable and it will benefit from like all other chains to to properly display their native tokens instead of like saying we should um change the token uh well that's that's true but that's that's the pretty large problem as in you know there's n apps out there that would need to be changed it would
- 1:02:31
be good if they were changed no no question but are we going for pushing them to change it or are we just making it possible for them to work without thatc changes so so Eugene I guess one question that I have uh which is so right now evm has is done as like a full kind of evm contract is precompiled and so one one option was actually leave as a precompile only the bite code execution side and and leave
- 1:03:04
all Like Glue code that we have on the still on the contract side so so kind of like pretty much exposed just like you know exact evm bite code uh kind of function inside vasm runtime and then so have a we assembly cont which all the gluc code that calls this function that's pretty much the boook model we we looking at right as in um yeah I think I would prefer the way it's done right now where everything is native part of this is a contract part
- 1:03:46
of this is uh non contract the reason for this is if in the future we want to enable native transactions on evm side where the transaction doesn't go through signed near transaction but just can L straight to evm we without um this native or without this Contra kind of rapper because we will be able to verify a certain transaction similar how we verify native transactions and hey this thisum address
- 1:04:27
has enough tokens to cover the gas cost let's just go and execute this transaction um so it will be able to like avoid rupt it into near transaction in case you want to do this um this will probably save round trip that receipt needs to apply to evm and just go straight to evm sh which will make it like less abusable and well these questions also tied into um IIA what we were discussing last weeks about upgradability right as in what what really should be in the
- 1:05:09
protocol and what should be in the contracts yeah and I think you changed your view on that a little bit you started out from it would be a good idea to separate bite code execution and have some sort of a contract interface front in front of it uh but um I I wasn't in on the last last meeting with you and Alex on this but I understood you changed on that well it's it's it's mostly that currently on on
- 1:05:39
our in in base run time we have problems with like easily upgrading contracts like in in a permissionless way right so like H having you know reupload a new contract is is like not really possible yet um uh and so it's mostly an incidental limitation then well I mean yeah but like in in a short term it is a limitation that like stop us from launching yeah yeah okay all right yeah I mean right now right now upgrading our like protocol is actually easier potentially easier than upgrading
- 1:06:18
like a important smart contracts uh that's kind of the current state all right all right um okay well I think we are out of time for today uh so this discussion will need to continue offline uh does anybody have anything else to add before we wrap up I mean if have one minute actually I'm I'm curious Eugene on what what's the current state on the on the talking Standard actually as in like
- 1:06:50
because the the reality is as soon as we kind of approve it right we will need to support it going forward because the bridge will rely on it so evm Will rely on it through the bridge anyway and so like from my perspective like even though yes we hard coding it on protocol which I totally agree is kind of leaking abstraction but the the kind of the support we need to provide to token
- 1:07:12
standard will be kind of on that level anyway we currently finalizing it like there is a standard that SL upgrading the what Robert Z proposed um I not agree that we need to always support it because there's always possibility of building rapper for the new standard on top of old standard if it's ever arrives that's why um so like even if you launch a bridge with NE 21 for some reason um
- 1:07:56
we can have a mint burn pattern or which wraps old naap and a new one so basically it will be a new standard that can consume nap 21 and mint and then when you want to transfer it back to nap 21 you can do this so this kind of upgrade is how probably like D was upgraded from s so similar pattern can be used to to upgrade token standards in the future but yeah we we we trying to finalize it as soon as possible so I think everyone who were interested in
- 1:08:47
talking Standard is now on on agreement on the latest mhm and I think you think you move that to Discord right that discussion what's the channel there yeah there is a standards channel on Discord and also there is a new naap that we splitting naap into three standards one is like core API second is metadata talking metadata and third is like account registration for storage related stuff right okay I I'll put in the links in
- 1:09:26
the meeting notes as well um okay anything else so shall we wrap up exactly on time I take that as uh it's enough for for today good then uh thanks everyone and uh thanks for the people watching for tuning in and uh let's continue next week right thank you thanks byebye bye