Skip to content
by Unity Nodes
NEAR DevHub

Chain Abstraction Community Call #1 - near/dev/hub

about 1:03:58 long

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

About this video

Thank you for joining us on the inaugural Chain Abstraction Community Call. This call was full of updates, discussion and presentations, here are the highlights. 00:00 - Intro 2:40 - First up, Matt from Proximity gave a demonstration of how to mint an NFT on Ethereum from a NEAR account. Look out for more examples coming soon! The repo can be found here https://github.com/mattlockyer/mpc-sc... 15:15 - Next up was Ben from Mintbase who led a conversation about how the Mintbase team is adding EVM support to the Mintbase Wallet through Wallet Connect. This will allow one to use a NEAR native wallet in any EVM application that supports Wallet Connect (so basically all EVM DApps). The full presentation slides can be found here https://docs.google.com/presentation/... 28:36 - Mike from Proximity then announced that in the next couple of weeks, the security audits for the chain signature contracts will begin!

After this, we had 4 lightning presentations from ETH DAM chain signatures bounty winners: 30:17 - 2FA. A two-factor authentication multi-sig wallet that allows one to send tokens and mint NFTs on multiple networks. 2FA has a great UX, an exciting implementation of chain signatures and a proper use case. 41:21 - Nevo. Private cross-chain voting with chain signatures and MACI. A very interesting use of chain signatures and good interaction between two different protocols 47:00 - Feedback. A privacy-preserving B2C survey platform that creates a NEAR account from a participant's phone number, used to derive an Ethereum Account and submit a cross-chain private vote. Feedback has amazing integration with survey phone calls and blockchain and great potential. 52:50 - Secured Jamon. An atomic bridge-less cross-chain assets swap that has great use of chain signatures and complex development flow to overcome.

These calls are set to be scheduled every month! In the meantime, we are continuing the chain abstraction discussion in the Telegram channel t.me/+RXYjlPob_XM5N2Ex

Learn more about chain abstraction - linktr.ee/chainsignatures Keep updated with the NEAR developer ecosystem - newsletter.neardevhub.org

Transcript

9,111 words

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

  1. 0:04

    uh First Chain abstraction Community call crazy welcome everyone uh and yeah if if you haven't heard much about chain abstraction basically just the idea that you can interact with all these blockchains without having to know the complexities of each blockchain and you can do that all from one near account uh and it's done through chain signatures which are jointly signed through multi-party computation and then these

  2. 0:38

    signatures are are broadcast to the the target blockchain you want to interact with so if you not been on a a sort of a Dev Hub uh Community call before then this is how they normally go uh we discuss what's going on within the given domain uh we normally have some proposed topics but we like to keep it free format so a lot of back and forth so if you're you're presenting try and keep it open to to questions and whatnot but if you want to leave questions to the end

  3. 1:19

    of your presentation that's fine and everyone's encouraged to participate we love that uh either raise your hand speak up or if you're not comfortable with that you can just write in the chat obviously and so uh myself is moderating this call with also uh Victor and love Miller helping out from Dev hob we're all developer relations contributors and one last thing this call is being recorded like I said so we'll we'll get

  4. 1:52

    right into it so we have all these proposed topics so we've got Matt talking a bit from Pro imity then Ben from mint base uh talking about what they're doing over there then we have some presentations from hackers at eth Dam and then there was also some discussion I picked up on in the chat that we could maybe talk about these topics and if there's any other topics like Mike you wanted uh you you seem to be talking a lot about like account

  5. 2:25

    abstraction with ethereum so if you want to hop on that and just if any one else is building some cool stuff I'm sure we would all love to uh talk about that so Matt do you w to go ahead please he so scary sharing your entire screen but I gotta show you my IDE so um I went the wrong way already here we go um so basically what I've put together is a a little thing I call the MPC script let me know if this isn't large enough is it all right okay so um basically

  6. 3:05

    this is just the read me uh it's goes over the flow of chain signatures it's sort of like a like an all-in-one kitchen sync example for hackers um where they can just start from chain signatures and just just get their head around the concept um they can do a lot of different things here um there's commands to basically uh do things with ethereum Bitcoin Dogecoin Ripple um or xrpl um and basically they can do a lot

  7. 3:38

    of different things so they can just do basic transactions they can send East send BTC send Doge send xrp um but the latest thing that I wanted to demo today just to keep it brief um and just to show you that the underlying kind of you know infrastructure of this uh this NPC script kind of tool um is very easy to kind of you know install and just uh see some results right away but I'm I'm actually going to show you uh a little

  8. 4:08

    bit more complex example Beyond just sort of sending sending eth using chain signatures um so that example is going to be you know down here um just in my terminal um so it's basically G to be I'll make it a little bit bigger it's basically going to be I'm just going to check my environment variables real quick uh I'll actually just I'm just working on a a even more complex example which I'll explain in a moment um but there's just a little bit

  9. 4:38

    of error with it so what I'm going to do is um here I'll just clear this so let's start from the top so uh what we're going to do is we're g to call um deploy which basically is going to deploy an nft contract on ethereum standard one like a 721 um totally normal uh and then it's going to use chain signatures to deploy that so it's sending you know quite a quite a lot of kind of bites to the ethereum network um

  10. 5:09

    but that all just gets hashed and we get a signature for that so it's not it doesn't matter how large your transaction is or how many contract bytes you're sending but as you can see the tool NPC script it just kind of gives you the basic details it's like we're going to call this we're going to call the NPC contract that's here um tells you the bytes that it's going to deploy um I I don't know about this puny code somebody can probably somebody who's probably better at this stuff can

  11. 5:34

    tell me how to get rid of this on on my on my setup but uh I'm gonna confirm this so it's gonna hash that you know do the ethereum transaction it it rlp encodes hashes reverses it for the NPC contract and sends it off so we're waiting for the response to get the signature and then once we get the signature it broadcasts it to sepolia for us and then it gives you the uh the transaction there right so let's open that up and we can just wait it's

  12. 6:06

    pending it's probably gonna you know be indexing soon no it's successful okay so there's a contract deployed now uh created here and also I think uh I do log it out for you here yeah so same thing so so when you deploy a contract on ethereum I log out where the contract gets deployed so why do I do that because the next step is we're actually going to do an ethereum call like a call method with some gas to actually do some sort of uh you know State change on that

  13. 6:39

    contract so what we're going to do is we have to specify which contract we're calling so we're gonna we're going to put in that newly created contract so we're now going to call that contract and there's also there's already a pre-built argument in here to Mint the nft so or to Mint an nft so we're just going to go ahead and and rip out an nft mint now same sort of details we're calling near

  14. 7:04

    first to get the signature once we get the signature we're going to put it back together with the ethereum transaction and broadcast it but we're we're now calling this new newly created contract uh so let's just wait for this to confirm and uh you know the MPC contracts pretty pretty Swift I think it usually takes about six or seven seconds Okay so that looks like it worked but we'll go check it verify on

  15. 7:35

    spolia and it's indexing so it's usually bound to be successful soon so that made a state change it minted an nft into a particular address okay so uh let's double check quickly though we called the function mint with the argument of this address so this is an address like this is this is a method call kind of like signature that I pre-built into this MPC script contract so this address was pre-baked and that's just a default so that's easy

  16. 8:07

    for people to test so you're you're basically just throwing a bunch of nfts into my into my test uh address so anyways we're going to look at that and we're going to look at that for one reason we're going to make a view call now from the MPC script contract so now we want to view the balance of nfts for that particular address and once again viewing the balance of with the argument

  17. 8:32

    of this default address here that was all that's all pre-baked in so I don't need to add additional arguments here but if I wanted to I could go like this I could go args and I could do the the classic you know uh you know method balance of blah blah blah blah blah but it's already pre-baked in there so I'm just not going to do that oh I left blank ARS there so I mentioned I'm under the weather so it's bound to happen so here's the view

  18. 9:03

    result view result one so what like once again we're just doing a balance call to the nft we can mint another one and we can view it View and the view result will be two right so we can see the balance of the nfts go up um I could at this point you know if we want I could take this um this address and we can go we can go we're on sapoia here we can go to nfts and I can import the nft and

  19. 9:38

    uh I don't think I have the token ID that's the contract oh the token ID should be I I actually don't know if it's three or four or five so or No it should be token ID one sorry it's transaction is one the one that in your scan link there is a token ID one I can't hear the person speaking oh sorry um token I have previous ones so let's just let's just look at the previous ones sorry guys um we can just look at these and it

  20. 10:12

    doesn't show up in metamask very nice but if you do view it on opy this is the nft that I generated with h obviously with AI um so this was from a previous a previous iteration of the exact same example um and that's my demo so that's all I have uh to to share right now um so once again I I'll go to the actual GitHub here for FPC script um and just show you the readme it's all here in the readme and I've been updating this uh relatively like frequently um like

  21. 10:45

    couple of times a week just to make it super clear um here's the nft example here um and I'm working on a new example it's not quite finished yet but what the new example will actually be using a near contract and then paying that near contract to call um to call sign on the NPC contract and the reason you would do this is that for example you would deploy an nft contract through the proxy contract and then if you want

  22. 11:22

    a near user to pay some arbitrary amount for example one near token to Mint an nft on ethereum you can basically do that through this proxy contract architecture so we have a proxy contract on near that's checking a deposit value if the deposit value is valid it will call MPC sign right it'll call the the MPC chain signatures contract call sign get the signature return it to the client who's now the near user paying

  23. 11:55

    and then they can broadcast the trans they go over kind of to ethereum broadcast the transaction and it's all good um we meant the nft so I'm going to stop sharing and uh we can do some questions I know I have one so you said that the um the contract call is sort of set in there right uh like you can't you can't change it to uh a different function call right no you can uh you can change it by putting in dash Das args I just didn't want you guys to

  24. 12:38

    watch me painfully type Json right and then that's serializing it into um like the hex or whatever that is going it'll serialize it into whatever arbitrary ethereum uh method call that you want to make yeah right okay cool awesome contract call yeah so I sorry if if uh I I hope the demo was clear um I'm a little bit out of sorts right now just I'm very ill thanks for coming on anyway uh so any more questions or or we can move on

  25. 13:19

    leave it for five seconds I if you would allow me to maybe just explain one more time I'd like to just go over the um the Pro like why have a near contract that would call you know the MPC contract to get a signature instead of just doing you know chain signatures calls directly from near accounts and then getting the signature and then broadcasting transactions it's actually really cool because you think of a near

  26. 13:51

    contract could be like a hub for things that you want to do on other chains so this could be minting nfts this could be doing airdrops this could be doing um all sorts of fun activities on other chains and what you do is you actually you actually push the application logic into the near contract so the requirements to pay for an nft it happens on near so it happens in near tokens or in you know usdc on near um the logic happens near so for example multiple parties could vote on a near

  27. 14:33

    Dow with with what we know is is better ux and lower fees multiple parties can vote on a near Dow and then that near Dow can execute moving underlying usdc to a proposal on ethereum right so there can be like this uh kind of cool um Synergy between chains contract to contract awesome okay yes thank you very much so I think we'll move on to to Ben then up next if that's all right thanks I

  28. 15:10

    appreciate that time thank you well hello everybody unfortunately I do not have a demo today because but and that is clearly outlined in my week slides I'm going to share my screen now um it would be really cool if I did have a demo but kind of feel like the thing that I'm trying to do right now is perhaps one of the Holy Grails in this thing that we're building at the moment or at least that's what I've been referring to it as um so I'll share my screen and uh get

  29. 15:43

    started and yes you'll see my entire screen and an infinite number of copies of yourself for just a second um great so here we are can everybody see this yeah all right this is really clever title chain abstraction Min base um so let's just get going so unfortunately there is no demo today but um I wanted to just describe what do with chain abcra abstraction and why specifically in mint base's case but I mean also just for the for the ecosystem as a whole I think

  30. 16:22

    I'll talk a little bit about some of the technical CH challenges that I've encountered uh a few of the implementation details and I guess just talk about the the feasibility of what we're really hoping to do with this and U maybe provide a few resources in case somebody else wants to uh contribute as well so what and why I mean what we're doing right now is we're adding evm support to Mint based wallet and we're

  31. 16:46

    trying to do this via wallet connect um for those of you who don't know wallet connect I'll actually show a little demo later later just to give an impression of like why I consider this to be the holy um and uh the reason we're doing this is really I think it's just Web Two user onboarding uh end users will not know or care which chain they are on uh they really just want to connect to daps and

  32. 17:12

    use them um so I think this MPC contract positions near as a prime candidate for web2 user adoption throughout the entire blockchain ecosystem um yeah so this kind of started with something that I mean when the MPC contract came around a couple months ago uh we built out this uh node Library uh that has already been used by many people as a building block for the E Soul hackathon um this Library here

  33. 17:42

    I'll share a link to the slides as well um as soon as I'm done um this is the repo here near CA uh it has since I mean somebody this this yhl 125 at East Soul uh shared this repo yesterday that made use of some of this code and and really expanded on um on uh what what what is cap what is possible uh that we were not that I hadn't managed to pull together yet so uh I recommend taking a look definitely at either one of these but definitely this it's it's pretty

  34. 18:16

    sweet um right so uh I just want to show us what what is I mean maybe I should describe what is wallet connect uh I mean how many people are not comfortable with what wallet connect is or is anybody at all not familiar with wallet connect okay well um in that case uh so I mean wallet connect is is is an interface between daps and and and wallets uh and like what we did with the first thing the first example that we did was to go to

  35. 18:55

    openc and mint uh mint an or no buy an nft and this example was done all through this the CLI um and and really what more the more General thing here is to be able to connect to any ethereum application and not have to manually integrate those daps into your system so what wallet connect does is provides this sort of API interface that if you can respond to these functions that it calls um then then you can connect to that dap

  36. 19:28

    and inter interact with it and it's the it's the application's responsibility to build the transaction data for you that uh that you need to send back and all you need to do is send back a signature this MPC contract does exactly that for us it spits out signatures and um so I mean the very first thing that we saw was sign transaction and and we saw a great demo of that today as well with that really cool command line tool um and and the thing that uh this this

  37. 19:59

    other project was done at EO uh sign message and sign typed data was done as well so this MPC contract gives us these three components of the interface that wallet connect expects um at this moment it's kind of unclear if it's possible or even necessary to implement the rest of these uh like connect I I mean I'm not a front-end Dev so it's kind of tough for me to tell like to what extent we need

  38. 20:22

    to do this um and these are just definitely not going to happen so we just throw errors and uh I mean realistically we put together all the necessary components for the interface um struggle like hurle wise I think uh wet connect is sort of bound to ether's JS and a lot of the ecosystem now is like insisting on using vhm so um actually I can show us a little bit later why it doesn't matter so much uh it's just a a question that remains unclear about this uh connect whether

  39. 20:56

    it's possible or even necessary um and so then there's also the wallet connect smart account library and this is where I think you talk examples are like the the safe these multi- signature smart contract wallets um and I'll actually show a demo today not a demo but just an example of like what wallet connect does and and and the reason that I even bring this up because I mean for the most part near wallets are browser wallets they're not extensions they're like browser wallets

  40. 21:27

    and and this is sort of analogous to this the type of interactions that you would do through uh the safe interface for example so um and some other dads that I just added here uh like I mean the MPC the MPC contract signs for externally owns account externally owned accounts I should probably add in here EIP uh 433 whatever it is but I mean I think one thing that uh I I hope to do or should probably be done uh at least for security purposes is so the MPC contract

  41. 22:02

    gives you an account uh that is an eoa and and what you want to you want to deploy and you can use this great demo that we saw today deploy a smart contract account making the MPC account the owner of that uh uh that multi- signature wallet and adding an additional owner for yourself so that um you know if you decide you don't want to trust the MPC this this service you can at least

  42. 22:27

    cut your account account off from there um and additionally I mean I've been working or investigating a lot the gas relayer Services uh this is something we hope to you know build into the into the system as well um for for a gasless uh future at least from end users perspectives um this is still work under like being worked on quite actively at the moment um so I I provide a few

  43. 22:57

    resources this is the this is a repo for wallet connect that shows all the web examples and how the wallets are integrated so um I mean I've got a a dummy not functional implementation of basically making a near wallet look and act and seem like a like an evm wallet just by implementing that interface uh there's these repos that we've already sort of linked to earlier the gas relayer example is just the near docs

  44. 23:23

    it's a link to the near docs because it's got all it contains links to all the other relevant code bases and this is just I'm where I'm hoping to find uh the implementation of how safe has done while it connect to get some inspiration from the front-end perspective of um how to go about doing this uh I believe that's it for slides but I just want to show anybody who may or may not be familiar with what what this means uh

  45. 23:49

    and why it's so important um so you've got some sort of a browser wallet here and you've got this little frontend component that oh that's not great you don't want to have an error occuring but anyways um there's this little area here this is this is the means of connecting your wallet to some ethereum application I chose this for example um I'm not sure why but um so you want to connect to wallet you're going to click on wallet connect you're going to get some QR code and you're going to go back into your

  46. 24:20

    browser wallet um you're going to paste that QR code and now you have sort of relayed you you put your you're now connected and this this would be the account that the MPC contract gives you and over here would be like the mint based wallet so one can imagine and this is where you would build some transaction let's say I want to sell some of this for this and U well there's this approval process I mean this is a maybe also a

  47. 24:52

    near thing but then you know the the confirm the transaction confirmation appears in your wallet and this is where you would um would provide the signature um so really as as long as we can well I don't have enough I don't have enough gas okay anyway um but yeah so the connection is done via this this interface and and what we can do what we have I mean what is entirely feasible now that we have this MPC contract as

  48. 25:24

    something that spits out transactions is put a little wallet connect button into the into the mint base wallet go visit an ethereum app and connect your wallet via this thing um right uh I believe that's that's it for for what I was um I had to say I hope I didn't bore anyone do we have any questions to Ben or or what he's building no questions come on make it make it I got a quick question yeah very cool example um in terms because this is a

  49. 26:09

    big like I know getting wallet connect you know working with uh any part of you know the near side of the infrastructure is is a big win and stuff um is there plans to kind of Open Source some of this stuff like do you do you see this as a thing that other developers would kind of Leverage right so um I don't know who exactly asked that but anyways um yeah I mean I always I always opt for open source first so everything I've been doing from the near the near CA library and I mean

  50. 26:43

    any opportunity that I have to do open source it's always uh it's always the first option on my on my mind um sorry um there was just something that I forgot um the reason that I chose cow swap as an example was that uh the way that those transactions are actually going through isn't the signed transaction method but it is the sign typed data um the sign typed data thing that you want to acquire signatures for

  51. 27:14

    so I mean just implementing those interfaces uh already is is pretty sweet uh and this is similar similarly for the offchain offchain messages uh offchain signatures anyways it's it's offchain signature that you then send onchain and then the logic in the smart contract is able to recover and confirm the public key and stuff yeah that's right so it would be C cow swap responsibility to hold on to the types data that it's sending you to sign and then we send off

  52. 27:45

    and we just spew out the signature they take the signature along with the order data the stuff that was signed and they will store that in their order book and this is the uh and this is the yeah I mean this is cool stuff really um and yeah so open source uh yeah I I aim for open source first absolutely and I think the mint based wallet I don't know if it's currently an open source repo but

  53. 28:10

    like I'm sure it at some point that it will be yeah we love all open source um so I think Kendall had some updates but it seems like he can't join uh but I heard that Mike do you do you have his updates to sh yeah I I did get a message I think he accidentally got kicked or something weird with Google meet but um yeah so it sounds like a huge announcement being that in the next couple of weeks the um

  54. 28:45

    security audit will begin for uh the chain signature contracts and I think he said he also mentioned the gas relayer contracts so and then yeah I went through a security audit as well and it usually takes two to three weeks and then you got to like you know clean up stuff so we're talking about a pretty you know we're seeing a a pretty good um kind of kind of timeline Horizon here so next couple weeks uh give you how it

  55. 29:12

    begins right so up next um as you may have seen in the chat and on Twitter and whatnot um some of our Dev rails were in Amsterdam which is quite well known for like a security hackathon and privacy and we had chain signature bounties there and we had 12 submissions all eligible s of seven of them were chain signature related which was just amazing so uh we've invited some of them to uh share what they have uh what they worked on on this call um

  56. 29:57

    and I just asked if you could try and keep it your presentations under like four minutes or so that would be awesome because we have four people uh well four teams presenting here and then we want to get into some discussion afterwards uh so could uh tofa go first please yes sir yes sir hi guys how you all doing um I'm about to share my screen now and unfortunately like uh Matt and the others before me I have to share my entire screen so it's a bit scary

  57. 30:35

    um okay okay all right I think I'm sharing my screen I'm not 100% and I'm prompted to sign transaction Okay cool so I don't know how to get rid of this so I'm going to just push the down to the corner here anyway uh okay sorry so over the I I was at eam and I participated in the haon and I built on near the chain abstraction parts and I built 02 uh 0x2 FAA which is a Google authenticator um clone or D Authenticator de centralized Google Authenticator and the problem I was

  58. 31:31

    having is that I really like using Google Authenticator but the problem is I also hate using Google Authenticator and I hate it because I have to share my personal private data with Google which I don't really trust so I built a solution J hon not just for myself but for anyone that values their uh um okay I see a comment here okay yeah that's me that's my name uh okay so uh yeah build something that's not just

  59. 32:09

    a solution for myself but for people that value their privacy just as much as I I do uh it's pretty simple so let's uh on the left here we have my phone and on the right here we have the admin dashboard settings also push this down here okay so we'll start off by activating 02x 0x2 FAA we sign a transaction sure and then on my phone I click on the little plus scan a QR code allow it sure and I scan the QR code and on the bottom there it says the

  60. 32:46

    domain has been added successfully very nice give it a few seconds it will it will pop up there with the uh with the uh domain the domain of of the the app so give it give it a second and yeah maybe disconnect my wallet connected again there we go cool so we have binance and every every few seconds every 30 seconds it's going to generate a six digigit code we can verify the codes so this could be used

  61. 33:21

    for resetting your password registering signing up all that sort of stuff and there we go we get the little green Hue uh also it's a gasless transactions so when I scan the QR code obviously I didn't sign transactions on my phone uh which is cool uh so this is this is cool as it is so usable like a lot of people would be able to use it however I want to use some use near with it so I built a a multisig that uses um uses chain signatures or chain

  62. 33:56

    obstruction and uh using my TFA codes the the OTP codes so let's create a multisig here um I don't know call it uh a trading accounts and for description my first trading account sure um create it with there's a QR code so I'll go back to my phone scan a QR code allow sure scan the QR code there we go domain has been added successfully now it's redirecting me to my multisig Okay cool so now we're at our

  63. 34:36

    multisig and using terministic um addresses this is my e address I also funded it with some eat so not be uh just so it will make them a little bit easier and we have test eer we have test BTC uh BSC and some other chains obviously obviously there's no soul this is just like a you know just looks cool now a few actions here so we can mint an nft which is a contract interaction we can also send eats or send erc20 tokens for E you can actually just send

  64. 35:16

    the raw hex datab bytes so you in theory you can just call any contracts or deploy contracts or do anything you want using this data field here um this me an nft though so I played an address and this just calls a contract to interaction mint now I have to enter my my code 834 hopefully this works I haven't tested it yet and there we go OTP verified successfully and it's sending the

  65. 35:48

    transaction in a few seconds we should be getting a confirmation and here we are where's the confirmation here P to the side indexing the transaction and obviously we didn't connect any any of our wallets we have to obviously sign a transaction and that's because of we I'm using Oasis that that could be fixed in the future um depending on if they decide to fix it or not and yeah transaction is indexing

  66. 36:30

    there's other chains so we can also do BSC you can also M an nft or we can send some eats Let's uh let's send some eats why not's go to my wallet copy my address to let's just send 0.001 e uh BC B&B tokens my current code is 69 let's see if I'm fast enough not fast enough okay we're going to have to wait for the next code okay 380 0 one0 confirm sign Okay cool so what I did there was just send

  67. 37:25

    some B&B from one from my from my uh multisig to another address and should go through there we go open that up okay you can see the the value here actually this one was a lot faster so just send some value from the multisig to my personal address and if we go back to the seoa there we go we Meed an nft and now we have nfti 18 yeah I mean pretty straightforward um so if anyone has any questions I welcome that awesome I think we should probably

  68. 38:07

    if we can ask questions in the chat so we can move on with the other presentations or ask them uh towards once every towards the end once everyone's finished I think that would be the best approach so we can move along uh so could we have uh feedback next please or or zerox feedback are they with us we give it uh yes can you hear me yeah hi okay awesome yeah uh just let me uh set up my screen uh was waiting Amed what did you

  69. 38:53

    you find like most difficult with the hack Thon and with chain signatures um okay it was I mean it's obviously a lot harder for me I just do it solo um so I had nobody else on my team so made it made it a little bit stressful especially towards the end in terms of using near um honestly it was pretty pretty smooth it pretty straightforward there was loads of example repos and um tools I can utilize and obviously uh Owen and

  70. 39:32

    uh L Mill was very use very helpful and with any question that I had so mean I didn't have any major blocker which was very grateful all right um can you see the video now yep all right great so uh I'm firstly going to play the demo and then I'm going to explain uh like the details of the project um can you hear the uh The Sound by the way I don't believe so okay one second technical issues are always the worst it's okay we will cut them in the post

  71. 40:21

    Pro okay can you hear it now no no I can't maybe you can do a voice over okay um do you know if there's like other way to to share it in the in the gym me um I'm not sure maybe we move on to someone else and you try and fix it well that sound good okay H do do we have Neo as well here to present I think I'm saying hello hello hello can you guys hear me yes all right let me share my

  72. 41:06

    screen I have so many tabs open this is scary yeah the hack if can I can I just have my friend share the screen for me uh I think anyone should be able to screen share all you know can you show your screen okay she's gonna show you guys the presentation all right so as you guys know uh Neo is an app that we made using masi and near protocol where it's pretty much a voting platform uh made easier for people who are older so it's easier for it's more user friendly as you guys know mass is a

  73. 41:46

    voting platform it's used to make voting so much easier so it's used to combine near and Massy together where let's say you want someone who's older to start voting using mathi but they don't want to like go through the trouble of using blockchain or whatever so so it's connected with near as you guys see this is how Neo works okay so we'll go to the next slide and this is a demo video

  74. 42:41

    do you guys need me to do a voice over uh it's up to you maybe you want to explain explain what's happening all right so what's going on pretty much is it's used one second okay well guys um actually I'll just wait we can skip now and I'll just wait for my friend to come because he can explain it much better because I'm not into the technical side more so I hope that's

  75. 43:54

    okay so I I think the idea was that you were creating chain signatures on near right and broadcasting them to make uh make the votes and it was like uh private voting right that's yeah that's pretty much it yeah and this is the road M of how it works yeah it was it was crazy how in the hackathon there was the these teams made so many detailed diagrams uh in like such a short space of time because

  76. 44:30

    it was only a 48 hour hackathon some some teams made some really cool stuff uh like better than e Denver which is a really long hackathon yeah and just to give credit to everyone in the team this is our team and thank you guys thank you uh so I I think I said this name wrong the first time but it's secured hamon right it's not Jamon it's hamon I think yeah yeah yeah you're right it's from Spanish yes uh can you hear

  77. 45:19

    me okay I will try to show my screen um can you hear or can you see my screen I can't see your screen I'm not sure about anyone else can see you not your screen I can't see either oh okay let me try again too many technical issues well it's good thing that we have the technical issues with the Google meets and not with the chain obstruction which is very funny like we are experiencing more issues with old Tech or like something that's been around for

  78. 46:16

    a very long time when less issues with something that we are currently pushing so it's funny yeah you think a bunch of of Engineers would be able to figure out how to use Google meet properly but apparently not we aren't there yet uh yeah meanwhile I've been putting like the links to all of the projects that uh just tried to present uh into the chat so if you want to take a look on them and their presentations and their code is also on the links that

  79. 46:50

    I'm sharing so yeah okay do we have do we either have right someone's someone's presting here here we go okay um let me see if you can hear the the audio now and today we are presenting our project ZX feedback which is a Anonymous feedback system with some rewards uh as the benefits for the user who participate in the feedback so companies can uh come to our platform and they will be able to get a API key and then

  80. 47:22

    they can use our API to create some feedback polls so they will be able to to provide the contact information of the users and the users who participate in the feedback will receive a call and in the call they will answer some questions and after the call uh they will be able to go to our platform and they will be able to claim some rewards and this is like on multi-chain companies can decide on which chain they

  81. 47:45

    want to provide the rewards and users just need to interact with one chain near and they will be able to get the rewards on any uh chain using near chain selector and uh yes so let let's let me show you a small demo so let's just put in one number because I don't want to create noise in this room so uh this is my friend rit's number and we are uh doing a poll on Tesla Model X uh so let me send this request so this is a company API companies will be able to

  82. 48:11

    use this API now the request is sent and ranit is going to receive a call call I'm calling about the Tesla Model X how would you rate your experience with the okay and now I'm going to play the second video but I need to share the tab separately okay um one second yeah I thought the the survey where it calls you up was really cool I've not seen that in a hackathon project before okay H can you see the screen

  83. 49:02

    again all right cool request is being sent and now my friend ranit should get a call getting a call so he is getting this call now I'm calling about the Tesla Model X how would you rate your experience with the vehicle on a scale of 1 to 10 with 10 being the best seven that's great to hear I'm glad you had a positive experience with the Tesla Model X could you please provide some feedback on what you liked or didn't like about the vehicle I'd appreciate

  84. 49:34

    any insights you can share to help us improve the product I like the driving range that's great to hear you're happy with the driving range of the Tesla Model X is there anything else you particularly liked or disliked about the vehicle I'd be interested to get your full feedback nothing goes thank you thank you for your feedback on the Tesla X I appreciate you taking the time

  85. 49:58

    to share your experience have a great rest of your day and do you want to explain what happened after they submitted the survey yeah yeah I'm just uh I need to show the okay yeah I think the the screen is shared again so the way it works is that uh when some company wants to request the feedback from the customers uh they're going to open our platform and they're going to choose how many customers they want to Target and

  86. 50:33

    they're going to either upload the list of numbers that they want to call or uh they will request us to collect uh these phone numbers from some certain group of people and then our automated uh AI agent will start to call these people one by one and collect the feedback each feedback is proc uh like processed anonymously thanks uh to uh use of the on the the blockchain from the uh

  87. 50:58

    ethereum foundation and uh when we're receiving the the response uh the user gets rewarded for each feedback that he provides during the call and then uh I don't I don't think I have the recording of that here but uh he enters uh our platform on web he logins through the near wallet and then he can uh receive the reward on any evm mwork and yeah I mean I think that's it awesome thank you so I realize we're

  88. 51:32

    approaching the end of the hour here and people probably have other calls or other places to be uh so feel free to leave now um or you can stick around and see the presentation from secured Hammon uh and let's let's try and keep the conversation flowing in the the the group chat afterwards it'd be great to see everyone's projects and thoughts asynchronously so and I'm going to give

  89. 52:02

    a little bit of a shill now uh you always want to Shi an infinite amount of things on calls so I will just Shi our devhub newsletter where uh where all the updates will be I've just dropped the link in the chat there and I'll drop it in the chain abstraction chat as well so yeah thanks for attending but we'll get on with the secured hamon uh one now okay so I can try to share my screen

  90. 52:51

    now okay is it working okay cool okay let me introduce our project fromd hon secur Heron so what what's the problem we tried to solve uh is that um today to make a a swap of Assets in different chains we should use Bridges so it's a huge problems with them like vulnerabilities and uh that they're not standardized so we tried to use a near NPC functionality to make a bridess asset swap so I just move to our

  91. 53:36

    scheme okay imagine you want to swap two kind of assets like one of them in near and another one in example in ethereum like d tokens but in example it could be even nft and any other asset so to make a Bridges slope uh we create a kind of Market contract in near uh where anyone could propose a deal and provide U uh their asset in different chain after that potential buyer May accept this deal uh receive payments in

  92. 54:17

    near and uh it it all will will be in a single transaction and after that uh original seller of asset will be able to retrieve uh asset in different chain uh using NPC contract uh like um when deal will be created and executed uh our Market contract will create a flag that uh a buyer now is allowed to withdraw his asset in different chain uh we are calling our Market contract which will be called NPC contract to create a signature for this

  93. 55:06

    withdrawing so the the core the main point is that uh the whole deal deal is kind of atomic and it's creating in in a time when uh the second side is accepting the deal so now we we don't need Bridges anymore but during the hon we had a problem with the last part uh I think all participants of hakon had this problem because it's kind of challenging to call NPC contract from uh another contract not directly from

  94. 55:44

    your account and during Katon uh we didn't manage to make it work properly uh but after that we kind lot of examples and today in in a first presentation we also see an example of this how it can be done so after hakon we manag to uh fix this it's kind of points to improve I will I will not try to read them all you can see presentation after uh can see slides after my presentations uh let's go to

  95. 56:32

    demo okay it's kind of simple frent it's from hon uh we have a just one page for seller and for buyer first of all seller should create his deal like uh he specified how many ethereum units he have uh and he can receive some near tokens in exchange of them when we create de we just when we create deal in this time we create derived contract in ethereum for our Market contract uh so that's it for seller we go to page for

  96. 57:20

    buyer and here we should accept this deal and receive ethereum address to withdraw I just copy it okay here we have nothing unusual it's just a simple matching contract okay and in the end we can call get signature for withdrawing and here we call NPC but in this demo it's not kind of working because I challenge I mentioned before it's not updated in our demo yet but that's how it should work okay thank you

  97. 58:03

    everyone awesome nice does anyone have any questions for any of the projects I think one of them I think tofa dropped off but he put his Telegram in in the chat if anyone wants to reach out and I think he's in the chain abstraction group I'm curious what the what the um so was it wallet selector that ultimately needed to be tweaked or was part of the problem I'm trying to CU to make sure I

  98. 58:36

    understand what you ran into sorry could specify question again um so you had a problem um and I think it was with wallet selector I I would love love to understand the problem you ran into a little bit better so when we call MPC contract uh in result we we receive kind of signed params uh but we can not receive them easily if it's in if it's kind of nested transaction it's not easy to get result of call MPC so I think a lot of teams struggled

  99. 59:20

    with making the cross contract call to the NPC contract from like the marketplace contract which was the the difficulty but they I think a lot of teams managed to actually sign the transaction and get a result but not to properly receive the signed transaction like back on the front end to broadcast it I think that's what you meant and also teams were dealing with issues with like

  100. 59:53

    making custom transactions not uh just like sending uh like tokens right U Matt if you're still here was there were you looking at creating a cross contract call uh to win NPC example that is the example that I am uh currently in the process of finalizing so I have a near contract that calls MPC sign but instead of taking the hashed payload it takes the rlp encoded payload so this is the payload in

  101. 1:00:37

    ethereum specific very specific to ethereum where method names are the very first uh I believe 16 heximal characters or something and what you will do as the contract owner of the near contract is you'll specify what is a public method for people to call and what the cost of calling that public method will be and the reason why you have to do that is because as once deploying this contract

  102. 1:01:08

    that can call NPC sign you have to protect arbitrary calls to ethereum uh for example calling contract methods of other contracts or or arbitrary contact methods you have to prevent those calls um from you know not happening uh I don't know if you kind of understand or follow that logic but basically you have to lock down the the publicly callable methods so what I do is I I decided to go for the lwh hanging fruit in my example which is to accept

  103. 1:01:44

    the rlp encoded method and to Simply do a rust string string find you know for that rlp encoded uh method name and then uh once that passes and I check the deposit which in my case it's very it's a constant deposit of one near token and so basically if the method names in the public list of method names and you pay the deposit of one near you can call and once again in my example it's mint on an NFD contract so um that's going to be my example and that's just to give you the

  104. 1:02:17

    rudimentary basics of how you would go about kind of architecting something um in the future I may expand example to take in the full ethereum or evm you know transaction details and then what we'll do is we'll just use like a sday Json to kind of you know Crush that down and rlp encode it but I'd have to look into like the rust ethereum tooling and stuff like that I I've not really familiar with what's available there I think there's an ether's rust uh crate

  105. 1:02:47

    so it should be totally possible it just needs a little bit of homework on my end I hope that helps yeah please please Shi that example when it comes out I know that'll be useful to a lot of people coming very very soon yeah I just had a tiny I actually believe that I had it working uh like U just a week ago or days before I got sick um and then I tried to sort of set it up this morning and I there's some small issue the signature is just not

  106. 1:03:22

    kind of recovering correctly but I think it's in my in my code based on the NPC script so it's something very small that I can fix nice yeah get some rest uh okay I think that's that's all for today then yeah please keep the conversation going in the chat if there's any other things we wanted to discuss because I know we didn't get to go onto the discussion much um and yeah sign on the newsletter as

  107. 1:03:58

    always okay thanks a lot really appreciate your time uh you know devhub and and thanks for hosting cheers likewise thanks for coming to present see you everyone e