Skip to content
by Unity Nodes
NEAR DevHub

Preparation for Ethereum Wallets on NEAR release

about 34:42 long

Nothing is loaded from YouTube until you press play, and then without tracking cookies.

About this video

Aurora aurora.dev

Aurora YT channel    / @auroraisnear

Chain Abstraction Dev Group t.me/chain_abstraction

Docs about integration https://github.com/near/wallet-select...

Real-life working example to play with/copy-paste to your project: https://github.com/near-examples/hell...

Example of the ETH account on the NEAR Testnet to see what happens in reality on chain during the execution: https://testnet.nearblocks.io/address...

Details about how does it work are in NEP-518: github.com/near/NEPs/issues/518

Transcript

4,913 words

Captions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.

  1. 0:01

    yeah now it started now it started okay hello everybody hello from the oral Labs team um to everyone who is watching this video or is here on this uh call um today the topic of our discussion and the topic of of this video is on boarding the near developers and near Founders everybody who are working inside of the near ecosystem into a new nap that is going to be deployed onto near Main net and uh

  2. 0:33

    this nap is around connection of ethereum wallets to near applications um and together together and today we're going to share with you what steps you need to take in order to enable this connection of ethereum wallets to near there are not lot of the steps um and you are going to see the demo and how this thing is actually working right now uh already on the near Main net uh the official launch however of this uh thing is going to be a little bit later and uh the person who is going

  3. 1:07

    to present all of this to you is going to be deitar um he is working within aora Labs at the position of technical product manager so Dimitar giving the stage to you um and I hope that everybody are going to enjoy uh what we have been developing for the past approximately nine months thank you Alex thank you so much and welcome all welcome all people on the recording as well as Alex said this is all about having ethereum Wallets on near and I'll begin well by the way do

  4. 1:40

    interrupt me if you have some pressing questions we'll have a Q&A the end but please interrupt me if you have something that is super relevant to what I'm showing right now let's start with you know a big what if or big let's imagine what could the future be for etherum and of course it's focusing on people that are owning ethereum on near people that are owning ethereum and we want them to feel like here is is another evm compatible network but of course we want to achieve

  5. 2:09

    this without confusing them and without making it super obscure and super strange signing some hatches and some messages so we want to have a lay for them to verify what's happening and and this has been the the focus of Aurora's work in the past as Alex said the past nine months happy to share that this is what's actually coming live pretty soon some of it is already live on near but what's coming out live with this feature we will indeed dive a little more in what has been achieved and what

  6. 2:41

    is ux and uh ux achieved and and the some implementation details on on how we are doing this I will go over a a hopefully successful demo fingers Cross of course it's a demo uh of how how users can can join their basically their ative ethereum wallets I'll share more details on on the future how we're planning to roll this out and your place in this in future your place in building the future for near and we'll have times

  7. 3:14

    time to discuss some aspects of this thing after all right let's let's get a little more of the flavor of the ux and what we want to have users users experience with with ethereum Wallets on year imagine that they connect to your app and what they actually see is a way for them to kind of connect the brave metamask safe frame zerum whatever wallet connect um ethereum Native wallet and once they connect it they're prompted to add their at near as if it

  8. 3:47

    was ANM Network to their wallet like again super native ethereum wallet they are seeing their ethereum wallet as if it's a near account like the zerx account and they they see this inside the new application and they can sign transactions with their native ethereum wallet inside the new application as if it's it's a your wallet right this is sounds super cool right I mean super good well that's exactly what we're achieving with ethereum wallets and that's exactly the these screenshots are from apps that we

  9. 4:20

    have been building recently and these are the thing these are the things that I'm going to demo to you in in a couple of minutes but before we get there uh let me just introduce a little more on on how this is achieved like let just show you how this has been achieved so that we can remove from our minds whether this is change overall or whether this is some super big overhaul it is not the idea is just remind you

  10. 4:44

    the idea was to not rewrite the new protocol but just to have something built on top of it so that we can enable ethereum wallets behaving as if it's native wallets the first component is something that that is know affecting most Builders anyway and it's going to be their gateway to this feature this is the wallet selector and there is a new version of it already released 8913 that

  11. 5:12

    is enabling a lot of the features that I showed on previous screens and a lot of things that you're going to see in the demo as well um so yeah first step for sure is First Step first step for sure is having in mind this this component is crucial for this entire feature set and that's on the apps level right but below that uh Aurora has has developed and has been operating a layer of apis that are

  12. 5:36

    receiving some of the request from the wallet selector and the goal for this API layer is to translate them or to to change them both read and write operations uh into native nepc calls that the new RPC is the pure new RPC without any addons to it and it is unaware that is communicating or or interacting with a ethereum wallet it is receiving RPC calls however they are targeting the special wallet wallet contract uh that

  13. 6:09

    is on chain and it's actually part of the near protocol already that was part of the Chang changes that we introduced with uh in 518 that is actually very crucial and very Central for the entire ethereum wallets feature entire eum wallets work stream and it is acting as an entry point and it's acting acting as a as the own chain account for the user um its goal is of course to call any DB contract and for theab contract to be you know receiving normal ethereum

  14. 6:40

    calls without having to be Rewritten but yeah as you can see on the screen right now we have introduced a a more change or um an add on on each layer on the apps layer on the API layer and in on the and on of course the onchain part did not require changing of the consensus or any any uh rewrite of the protocol there's a question I think uh no no someone joined yeah someone joined okay right well now I think we are ready

  15. 7:14

    for someo let me just stop the presentation now okay let's start with the setup um I've done this with uh with several accounts already so I see it's working but let's start with with a fresh wallet that has never participated in this thing has never doesn't exist on year basically that's what I'm trying to say so this a wallet on ethereum it has some usdc in it has some gas tokens in it um let's just double check that there's no account associated with it but yeah as

  16. 7:48

    you can see this is Super Fresh um here knows nothing about this wallet there's no account for it it's a user that is that's operating on ethereum let's have the user connect to the Rainbow Bridge and Bridge some tokens let's go I mean this is not the Rainbow Bridge that is um you know on production right now uh I know that Mario had a question about about this already um but yeah we will have the

  17. 8:19

    Rainbow Bridge um know deployed on on on on production soon I'll mention this more in the in the roll out steps that are after this demo so let's connect this uh this user wallet which one is it yeah here is connect quickly this first step is super nor normal but let's just make the Second Step which is already showing you this new functionality um as you can see I I purposefully removed the near network from my metamask so I can add it right now and it's know metamask thinks is

  18. 8:59

    just another evm um but yeah I I connected my wallet you know the same wallet basically is now connected both on on etherum and on your side and I can simply just initiate a transfer of my 10 usdc from uh from ethereum to the near chain proove of course uh and since bridging might take some time I can just show you how we we initiate it we go we'll go on with the slides until the end and then we we'll come back and see how how the bridging succeeded what

  19. 9:45

    happened there or we have a near chain related to this new account that is created there it's going to be a little surprised but we have something there happening um and then we will I'll show you how how that this user which very in mind did not transfer any near will be able to use his usdc their usdc to actually get some near on on on the G right so let me just finish the bridging operation for everybody the reason why there are two transactions that deitar

  20. 10:19

    is signing at the moment is because of the specifics how um er sit1 is are working there is one transaction which is the approval transaction to spend 10 usdc from the account and then another one is the interaction with the Rainbow Bridge smart contract right so this is a very typical behavior for it exactly sorry I you're right Alex to explain this part ethereum doesn't have a

  21. 10:43

    complex account management structure is just you're approving the contract for the bridge to actually spend your 10 usdc on your behalf basically get it from your wallet right so this bridge is now on the way last 20 minutes I hope we'll get it faster but let's get back to the slides and yeah just some some some information before that the account is not yet created right I mean we're bridging to a new account so this is there going to be something that's happen happens on your chain related to this account after the

  22. 11:14

    bridging operation is done right uh any questions so far or rather not we'll probably get to the end a little more on how we see the future for this this functionality Road outs and since we see it's going to impact a lot the near ecosystem we are more structured in in the way we want we wanted to see the the wild white world we are right now in this stabilization phase right we many of the things are alive as you can see we are working with main already but for

  23. 11:53

    this to be super successful we want many DBS many many Builders to actually adopt it as well because because of course it's the D that are the Target or the receiver of these these users on on here and this is you know what I called here the onboarding projects phas and we are here now so that you guys can understand how we can you can make use of this functionality and you will have some

  24. 12:17

    time before we fully make this announced and make you know fully public and ready to to facing the users which we so far uh see in the beginning of October uh really the steps that you need to implement are on that b is just updating that library and making some BS on the UA and that's exactly what I'm going to show you here it is basically having the um latest wallet selector uh latest wallet selector selector in your apps first of all we do advise to have a look

  25. 12:49

    at how the UI changes because now we're no longer displaying near accounts we're displaying this long 20 22 symbol long um ethereum now that's a question right yeah so this is from met wallet um that's very great presentation thanks Di you guys doing great stuff I'm Keen to learn a bit more about the wallet contract that you presented to us just now like from the technical perspective

  26. 13:18

    like how does it really work when users try to sign the transactions is it using wallet contracts name or is it like a real account ID that's created and if it's created for example who actually call the create account transaction and at first and um how's the storage account storage or things like that being handled thank you so the user Des have an implicit account created for their their ethereum wallet address right so they

  27. 13:52

    are they are using their wallet seat phrase and signing mechanism to to invoke the near chain I think I think most of the these details are already in the NEP if I'm not mistaken I can help answering this so basically there is no explicit account creation operation on the near Network the account is created automatically by the near core itself when it sees let's say the tokens transferred to it or as soon as uh it sees the transaction being

  28. 14:26

    signed by the private key so there's no an explicit like a normal account creation operation as you normally see on the near Network it's all automatic behind the scene yeah and the deployment of this contract is uh um is a not a not as the normal deployment of a smart contract uh from the near developer perspective uh this is free operation um and this contract is fixed right so there is no way how to change

  29. 14:59

    it and stuff like that it's it's it's the combination of uh two pieces zerox accounts are becoming uh implicit accounts so there is no money that you need to spend to create this account this is the first one and second thing it is a free operation of deploying a smart contract on onto this account this works only with zerox accounts um and things like that inside of the wallet contract what you have is are the functions to uh decode the

  30. 15:30

    ethereum transaction it has a very specific encoding mechanism it is called rlp encoding so there is a decoding process there is a verification of ethereum signature that is happening on the level of this wallet contract and uh uh once everything is checked then there is a specific near action a call to another near contract that is that is invoked thanks a lot for the explanation Alex and Alex and diar so you mention just

  31. 16:03

    now these accounts are created when um true wallet contract when they detect sort of like a a transaction and they decord the argument so do does do these accounts work like normal near accounts and can we sort of like perform deploy contract on these accounts or they are more like a a FAL type of account that doesn't work like ordinary your accounts thank you these are special types of accounts you cannot

  32. 16:33

    deploy contract on into this account uh it they are meant to be kind of user accounts and there is a fixed uh code that is attached to this accounts if you're following the development uh of additional NPS in near protocol there is this new nap that is called shared contract code um which allows you to deploy so-called Global contracts and then install have instances of this uh contracts into some particular addresses

  33. 17:04

    this is a very similar uh thing this NEP can have resulted out from the thinking about the web3 wallets got it yeah I'm aware of the Global Contract NP and thanks a lot for the explanation thanks cheers pretty awesome question thank you right um so yeah I was at around the Second Step which is just the UI and finally a please provide us with some feedback uh we identified that near def channel in

  34. 17:40

    telegram is a good place for this um you can tag me deit or there uh you can tax laava there as well I'll have our handles here a little later in the presentation but yeah the near def place or near death telegram channel is the best place to get support and to to to reach out and give us feedback as for a small thing that I didn't mention purposefully before this and is quite important as well we are encouraging users and inant inv inant inviting users

  35. 18:12

    to on board and we have two ways to do this one is in Rainbow Bridge we are um adding some more uh know some more near dust to a bridging operation so that the user can without having ear on your network swap us see to near for example or do some basic operations that are meant for them to easily on board in the near system without having to first seat with some some dust and uh and second part is we are going to be subsidizing some uh part of the transaction Gap

  36. 18:46

    subsidizing transactions with a little gas and that's going to be using meta transactions that's not going to be or our goal is not to allow exploitation so some capping will be there but again idea is to to keep keep users happy and keep it much easier for them to on board important thing to understand is that uh for all of the wallets that are currently working in the newor ecosystem the first part the first incentive uh for the Rainbow Bridge is going to work

  37. 19:16

    for everybody right so once the users are going to bridge uh a little bit well some liquidity from ethereum into near all of these users are going to get a little bit of near the way how we're calculating it we're just calculating what is the uh what is the amount of uh gas that have spent on ethereum blockchain and then we are compensating for some portion of it uh yes Mario uh yeah I have a question about um

  38. 19:48

    the the near for the gas um when you bridge from Aurora you you won't get any near I assume correct so so if you like Brits use this see okay yeah okay thanks uh and um do you know when this will be live I mean the the the gas from ethereum we are waiting for the uh can I for the approval from near foundation on on when to put it live the technology is developed right now the question is how

  39. 20:20

    to schedule the Public Announcement about the feature the big launch and all of that stuff so it's not only the bage update that needs to happen but rather lots of other PR activities stacked around it okay so it's like the it's going like the the target date is the beginning of October at the moment okay okay thanks yeah I've already um been integrating the evm wallets into shitzu app and meme.

  40. 20:55

    cooking and um yeah it works it works very good I'm just trying to figure out what would be the best onboarding process for the users and gas is something very critical so the what I have been suggesting is um that people will should use starget Finance to bridge to Aurora and then swap to rep near and then send rep near to uh to near via Rainbow Bridge uh because it will automatically unrep the the rep near and then you have

  41. 21:26

    near for the gas uh yeah the only thing that is not yet working is um the Rainbow Bridge UI which does not yet allow the evm addresses yeah um so so my my other question would be when the UI change would be live to um at least possible to send to even yeah it's the same it's the same yeah answer to this it's it's all centered around this announcement and going live right um yeah

  42. 22:00

    uh hey hey hey guys so I need to run but real quick thank you first of all everyone for joining the call I have also created a telegram group uh with most of the founders on near I know I've missed many Founders but uh Mario uh can you send me a DM on telegram I'll add you to that group what we would like for all the teams on near to do is before this this is announced all the teams to

  43. 22:25

    at least enable the wallet those teams were of the main Deb teams who are on testet do not need to enable for now but what we would love from the ecosystem is collab collaborating with us on the announcement so ideally one week before the announcement our team will share some resources with you like some marketing collateral from the Nia Foundation like an ethereum logo or whatever that you can tease uh from your social media handles and then add the actual announcement retweet and qu tweet

  44. 22:53

    the announcement of the ethereum Wallets on here uh with your official team handles so that is all I wanted to say if I've missed anyone please reach out to me on telegram I'll add them to the group uh and if you need anything uh Alex and team are happy to support thank you okay yeah thanks I will write you DM uh just like one question about the the launch of meme.

  45. 23:16

    cooking because um uh technically evm wallet is already live on shitzu app and meme. cooking is on testet uh should we disable it for now and like enable it once the final announcement is live uh probably it's better to do it like that so you're not going to confuse your users okay yeah yeah we can do that thanks yeah okay and that's actually final you can find uh Slava our defs tegam handle

  46. 23:56

    here mine as well and of course the place to go to is near def the documentation in the wallet selector around ethereum wallets is I think Mario you can you can confirm or not is good enough to integrate it right we are of course building more but to start with that's a good starting place we we are planning on having a blog post at do.org and and yeah of course if you have any questions telegram telegram us and we'll try to

  47. 24:21

    help us best as we can now before we of course we already discussed this but big announcement beginning of October uh let's just collaborate here and then not and and focus on having this life then not before that and let's let's work together to announce it and let's work together to to make it happen important thing to mention here is that welcome. near. org is going to be an onboarding portal for uh all of the ethereum users um and on top inside

  48. 24:59

    of this portal they will be able to do some things that they would naturally not be able to do from metamask and other ethereum wallets for example um stake near into some of the validators and stuff like that or transfer to near native addresses because metamask is not going to allow you to transfer to rout do near just not going to understand um so uh so all of this functionality for this additional things are going to be available at this portal welcome. near.

  49. 25:30

    org um and we're planning to continue development of this portal so in case you have any any ideas of what should be put there um then please just coordinate with us we will try to to figure out how how we can do this yeah and maybe di maybe we already have let's see the brid transaction done ah okay it's let's let's just double check if it more time or not all right it's done actually so as you can see this address now which is know my ethereum wallet

  50. 26:05

    address has some things in in your blocks right now and it actually has some tokens or should have some tokens with it let's let's just check what we have on the portfolio app um I can log in with my metamask here in this just mentioned for the the onboarding app yeah exactly this is what what we are seeing is the is the welcome. near. org yeah once it is going to get released and there is this

  51. 26:38

    confirm transaction thing that popped up which is going to instantiate my my account properly um it's part of the wallet selector so this is something that you will get when you integrate with the wallet selector um let's just have this transaction finished and we can see my portfolio we can add my token to metamask and to the swapping that we discussed a little earlier all right so we have 10 USC here available let's add it to the

  52. 27:09

    wallet you can see the balance is here as well let's go to the swapping widget here yeah we can just swap the entire us C4 near it's getting WRA near we have to unwrap it but you know it's part of the onboarding flow for users that's again my world didn't have any any interaction with near so far and it should be able to have some a lot of near actually available to interact with the ecosystem

  53. 27:59

    yeah it's going to happen I'm sure any questions in the meantime or anything that we want to know more about uh yeah just just one thing but I I think you know about this already um there is a bug in uh the RPC where it does not attach enough gas for the um rlp execute received uh but I already posi this in the near death group so if you have a very large payload for your smart contract then it will fail I I did forward it and we we are we are discussing this in

  54. 28:58

    how we can approach this you're you're right big payloads are something that we have taken care of yeah y well uh we can wait for this for a little while I think but you know the idea here is that we can use this onboarding app to actually SW our then usdc for here I what's taking it so long right now yeah probably enter the book mode but not necessar any other questions thanks heliot

  55. 30:00

    yeah excited as well it as well well let's try to retry again because it seems like it hasn't been confirmed in the wallet so cancel and retry right just reload the page and try once again I I believe it should work let's try it okay w they actually had this storage deposit so now it's a previous transaction is okay I maybe not have clicked the button yeah risks of life life demos

  56. 31:06

    try to clean nons uh within metam mask that's uh where was that how did I do this your settings Lo right let's try

  57. 32:20

    yeah I think we can have a look at this after the call see what's taking it to Long right now I can confirm that it's working also some some some interesting things to mention maybe um is that evm wallets cannot sign multiple transactions at once so this is why you have these multiple transactions where you need to sign them all at once uh all um yeah yeah yeah yeah and this also the same

  58. 33:02

    the same thing for batch transactions uh where you have multiple actions and the single transactions also yeah not working with evm wallets um I'm wondering can I just try to turn off the brave Shield maybe that uh causing like the delayers Theon because it's even like the transaction did work because we are not asked to sign the storage deposit let's try this way as well yeah you don't have a VPN running no not right now well U I don't think that we should

  59. 33:47

    we can be debugging this that easily here yeah it's normally working I promise I did it just before the call um um can you uh at the bottom reject two transaction maybe they just let go they are not re yeah we'll figure it out guys um as Mario said it's usually working now the demo Demo's got me and it's for some reasons not if you have any questions please join us uh in Telegram and and yeah thank you so much

  60. 34:42

    for for tuning in all right guys thank you byebye bye thanks guys cheers bye