New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

MoonBeam 🛠 Building Cross Chain Interconnected Chains - Alberto Viera

ETHGlobal — 2022ETHGlobalSun, Oct 9, 2022, 12:00 AM

Speaker

Alberto Viera

Join Alberto Viera of MoonBeam for a workshop titled "Building Cross Chain Interconnected Chains." Moonbeam is paving the way for the next generation of applications with connected cross-chain contacts. Connected contracts represent a monumental shift forward in usability by allowing end users to couple any token with functionality located on any blockchain, all from one application experience. Moonbeam’s cross-chain connected contracts are powered by messages that are sent across chains, including Polkadot (via XCM, cross-consensus messaging) and Ethereum, Cosmos, and Avalanche (via cross-chain messaging systems such as Axelar). Apps built on Moonbeam are able to call any contract on any chain, anytime. Join us October 7th-9th, and kick off Devcon Week with thousands of developers and creatives just like you. We're picking up where ETHMexico left off, bringing in dozens of top teams and speakers to help you take your ideas to the next level. Get hype to win $300k+ in prizes, build next-gen primitives, and catch talks from luminaries like Vitalik Buterin. --------------------------------------------------- Follow us: https://twitter.com/ETHGlobal​ Check us out: https://ethglobal.co​m Email us at: hello@ethglobal.com #ethereum #web3 #blockchain #eth

Transcript

foreign [Applause] [Music] I work at developer relations and today thank you for joining this Workshop that it's going to help you get started with the Bounty staff we've offered for eth Bogota 2022. so yeah today the idea is that we'll go through some Concepts about mumbim what it's Moonbeam what it's all about and then we'll move towards explaining important Concepts that will help you through the bounties and last but not least we'll do a very very short demo to show you how to get started with Moonbeam and last but not least we'll do a brief boundy description and and and talk about what what what's the idea that we want you guys to so uh as I've mentioned uh first we're gonna do a quick introduction to polkadara Moonbeam we're gonna overview uh what it's connected contracts and what's the main idea here last but not least a short description of the bounties so um let's talk about polka dot and this is going to be a very brief definition about what polka dot is uh the main idea here is that you're not gonna be an expert on polka dot but it's going to give you sort of a a rough idea of what polka dot is about right and the main component of polka dot or the main idea is a specialized blockchains that are interconnected there are many best blockchains out there and there's no one blockchain to rule them all right and so within this architecture you will see what it's called the relay chain which is the actual polka dot blockchain and a lot of people like to refer to as a layer zero and the main idea is that we all know layer ones right like ethereum like Moonbeam but you know on top of layer ones the only number that it's there is zeros right and so the layer zero is because it provides sort of like an infrastructure for many blockchains to connect to and the main purpose of this infrastructure is that these blockchains that connect to it are interconnected and polka dot would guarantee block finality so security the security of the blockchains of these blockchains is guaranteed by polka dot and its economic model and so the second component of this uh architecture are the para chains and the term comes from parallel blockchains and the idea here is that you'll have specialized blockchains that provide a specific functionality to the ecosystem so you won't have sort of like one parenting that does everything you'll have a pair chain that is particularly providing sort of like a service to the entire ecosystem and so for example within polka dot you have pair of chains that are very very specific to privacy like for example Manta you have pair of jeans that are very specific to storage like crust you have parrotines for identity you have pair of jeans for oracles for Bridges and you have Moonbeam being one of these Spirit chains and we'll talk about moving in a later later slide and as I've mentioned before uh the the key thing that polka dot basically provides or offers in the to the table is to the web 3 world this is the interconnectivity that all these members of the ecosystem will have natively and this is that this is the key word here right because and we know that nowadays a lot of blockchains are connected through Bridges um and the idea of connected contrast is still used as a concept of bridging but the main benefit of polka data and xcm is that this all these bear chains and the relay chain that I've mentioned before are interconnected and we'll be able to talk with each other in a native way that it's a lot more secure than the risks that are inherited by Bridget okay um and yeah I mean this is like I said it's probably more than one minute but the main purpose here is that you get familiar with what polka dot is as a concept cool so now that we've talked about polka dot we can go ahead and talk about what is noon mean although you might have a slight idea right first moomim is appearancing on polka dot as you would expect and the main purpose of the main added value that we bring to the ecosystem it's a is an ethereum compatible smart contract platform right so polka dot uh does not really you cannot actually build on top of polka dot for example smart contracts so the idea is that polka dot relies on this other pair of chains to offer this functionality for the ecosystem as a whole and so it's really important to understand that polka dot it's nothing without the pair of chains and the peritons are nothing without polka dot and so um moon has the typical ethereum compatibility uh offering I mean a baseline evm layer for evm execution but we've also have sort of added benefits on on top of the Baseline evm layer right the main benefit is that we'll build with substrate and substrate is sort of like an SDK to build blockchains and and the best benefit or the one of the bigger benefits of using substrate is that it can basically allow you to really easily build a blockchain and connect to polka dot natively and and basically benefit from the Native interoperability um you can also build blockchains with your own like SDK or language but then you know you need to sort of like follow certain guidelines that polka dot needs in order to connect to it and it's a little bit more complicated the second benefit of moomim is that it offers a full web 3 RPC support this provides seamless each Json RPC interactions or Integrations and this is why for example while it's like metamask or you know uh if development environments like hard hat or truffle Works seamlessly right because uh at a at the base layer all these tools what they do is that they provide a very nice user interface for users or developers but underneath what they're doing is that they're doing ethn rpcs to a node and so the idea is that Moomin will receive this Json RPC request is able to understand them right and say ah okay so this person is asking me for the balance and the node The Mummy note will respond to to the user requests by providing the balance and we've expanded this warp three RPC support to include more advanced stuff like tracing functionalities and this is actually very beneficial because you can offer more advanced block stores like etherscan or blog Scout which we offer both on Moonbeam next is Unified accounts if you're familiar with substrate based blockchains they normally offer um an sr25519 account system the the main idea here is that it's not the ethereum style accounts right I mean they have different keys and account management stuff and everything is a little bit different so with what we've done is that we've sort of merged the we've modified our substrate chain so that it uses the ethereum account system and signature algorithm and the main benefit of this is that users don't really if they want to interact with moomim's evm they can do so from their like substrate account because in our parenting we use a ethereum styled accounts compared to other parent chains and last but not least our team and Community has worked tirelessly into bringing all the ethereum deaf-like environment with expanded features right so you will find things like qingling oracles you'll have Moon scan you'll have the graph you'll have a gnosis safe friendly Fork so all the tools that an ethereum developer or a project expects out of like an evm compatible blockchain they'll find them on Moonbeam and we we take that as a priority one if there's a an integration that a project requests basically uh will work with the movie Foundation sort of like make sure that we can bring that integration uh to move me but I mean there was something that I mentioned before right an evm with expanded features and you might ask yourself hey Alberto what is what is that right and so the idea here is that um it's called mooming pre-compiled contracts right and so if you want to interact let's say Alice right if Alex wants to interact with Moonbeam uh she can do so through the ethereum interface right so I mean when we will see this in the demo we can go to remix we can connect metamask we can deploy a really simple smart contract and all this is using sort of moonbeam's uh ethereum interface to the end user or developer but also a developer and user can actually use sort of the substrate interface and and this is this is really more advanced because uh polka dot or substrate provide features such as the interoperability governance staking and many other features that we can add sort of as as pallets or sort of plug-in modules to substrate that can only be accessed through the substrate interface recently we we launched a vrf uh like offering uh that is only accessible through substrate because it's a substrate native thing but however using Moomin pre-compiles the beauty of it is that uh there we provide sort of uh solidity interfaces for developers or users to sort of through the ethereum interface called the booming pre-compiles to access the substrate interface and then interact with moving through the substrate interface so that is why if you've ever sort of done staking on the moomim DAP um this is actually a substrate feature okay this is this is not something that we're doing through smart contracts this is you're interacting with moving runtime directly and the way that this works is that there's a pre-compile it's taking pre-compile that allows you to expose the functions uh the substrate functions let's let's call them like that and so that's why you have you can sign with metamask or Leisure or whatever other compatible wallet and so um the main idea and I've listed some of the pre-compiles these are not all but you can find a list of all the pre-compiles in our documentation Link at the bottom but the idea here is that you have many many pre-compiles to access sort of this substrate native features I mentioned staking but you can also access democracy features right and participate in democracy using your metamask Ledger treasure or whatever other compatible wallet and the example that I brought today it's it's one of the most complex examples and is the one that Lido uh actually uses to this is really interesting because they're enabling sort of liquid Dot and KSM liquid staking sorry Dot and KSM liquid staking on another blockchain right which is polka dot and or kusama depending if you're talking about which ecosystem uh directly from or Moon River the way that this works is that on the right hand side you will see that basically a user will uh sign the transaction from the their nms Ledger tressor whatever wallet and interact directly with the light of contracts and this is all within the context of the evm we're not going outside of evm yet and so the light of contracts roughly I mean this is sort of simplified will basically mint the liquids taking derivatives in this case is lksm and then also will interact with the Axiom pre-compile are called to transact pre-compile and this transactory compiler exposes a function from which you can actually interact with other blockchains in the polka dot or kusama ecosystem in this case what we're doing is that we're interacting with kusama and and the the lighter contracts are basically saying through this contract hey kusama I want you to stake XYZ tokens to ABC validator right and and so this the cool thing that this allows if you think about it is that a person signing a transaction with their metamask uh on Moon River or Moonbeam they're actually staking on a completely separate blockchain and this is all guaranteed by this interoperably protocol called Axiom so yeah you can do very very advanced stuff with the pre-compiles all right so let's talk about connected contracts and and you'll you'll get that the idea of connected contracts quite quickly because we've actually touched on one example already of connected contracts so the future we think that the future is multi-chain right and and you know there's some ideas here for why we think so but basically there's an increasing number of users assets and services on different chains right we've seen chains like Avalanche like Cosmos like polka dot in this case Moonbeam uh near I mean many different chains that brought uh new assets new users new communities uh and they're basically fragmenting the space and on the other hand we have new Frameworks like substrate that makes building blockchains very very easy right so a lot of teams are using substrate to build their own Standalone chain they don't it doesn't have to be connected with polka dot but they can build their own Standalone chain and so as time and and the tech stack gets standardized as time goes along we we do think that we're going to see uh chain space simulation where we're going to see blockchains that are very good into doing something and and they'll provide the service very well and and we'll also see blockchains that are going to scale out strategies for like giving gaming and EVMS right we are actually seeing this already in polka dot uh where uh the moon Summa project is going to launch your own power chain that is going to be basically focused on gaming and evm and so this is going to create once again if you go back to the original idea a very fragmented uh set of users Asset Services and and so we think that it's important to interconnect them all right if we think about the idea of connected contracts is that you can use sort of Moonbeam as a hub to reach any user any asset or service from movie right so um within polka dot ecosystem booming will provide a very high Advanced evm compatibility feature uh where you have all the tools and and use and sort of assets that that you would need uh but you also gonna we're gonna use also GMP protocols or their General message passing protocols to connect to blockchains like ethereum Cosmos Avalanche and so this is a bi-directional connection right I mean uh let's say for example a project like akala are parallel they might want to have sort of an acid on ethereum from ethereum and they can bring it over through Moonbeam and the connected contracts approach to actually get it to parallel we actually have one of these use cases being designed and it's going to be probably released quite soon with centrifuge in which they're going to bring uscc from ethereum through axelar uh and Moonbeam to their parachain directly so this is this is really really cool to see how multiple things work together right multiple messaging protocols and multiple blockchains and so how does moomium supports connected contracts right so We have basically three main ideas here so the design smart contracts that access functionality across many blockchains through ingest integrated cross messaging and what this means is that uh mumin will offer the interfaces to sort of interact with xcm internally but also will will work with teams such as axlr layer zero Wormhole and any other GMP protocol to make sure that this Integrations are become seamless um also build the ideal development environment that offers a full ethereum compatibility but also broad tool and infrastructure support and this is what mumi Miss right now we like I mentioned before we have a seamless sort of ethereum compatibility integration uh where we actually you know improving it by the day but on the other hand we also have features like the graph like hypnosis and all these sort of elements or components that are important from an infrastructure perspective for projects I want to build on me or want to use a kinetic contracts hub and then we have polka dot where you can actually scale through specialized resources right so we've seen for example projects that want to tap into the polka dot ecosystem to Target a specific paraging for example for uh prediction markets right or they want to Target um interlay further you know trustless BTC and so the main idea here is that we're going to have these specialized blockchains and moving can be sort of the Gateway for projects to access the polka dot ecosystem as a whole and so the the one of the things that are it's it's happening currently right now is that we have sort of two multi-chain approaches with a lot of challenges right so we have centralized deployments where everything happens on one blockchain and we ask users and communities to sort of bridge assets from other blockchains into that specific blockchain and this provides bridging ux and security concerns and a limited market because you're only tapping to this persons that want to sort of do that approach right on the other hand we have deployments like for example Sushi swap it's a very very perfect example of this that it's called we call multi-instance deployments and this is basically there they grab the same code base the same user interface the same everything and they deploy it to multiple blockchains right and the way that this works is that when you visit Sushi and you select the chain that you want to sort of interact with the interface will refresh and will only interact with one specific chain right there's no real multi-chain deployment here there's just basically fragmented deployments on multiple chains and so this creates a very fragmented user base very fragmented features and liquidity right because you have for example Moonbeam can provide stuff like hey you want to bring assets from polka dot but then ethereum don't it doesn't have those features right so at the end you sort of fragmenting features as well and liquidity is is kind of obvious and so um the key Innovation here is General message passing and and this has been here for a while but I'm guessing right now that we have all these sort of pieces and plays is becoming more prominent and so the idea is that you know you have multiple blockchains that are living in their own little world and you can pass through this GMP stuff either tokens or messages actually sending tokens is a subset of sending a message basically because it's basically sending a message saying uh hey can you actually create this representative token of this you won uscc that someone deposited on on another blockchain so General message passing allows you to communicate any message from one blockchain to another and like mentioned before there are many prominent uh protocols in the space like the one that we've worked the most right now is zaxler but we also have layer 0 we have Wormhole and many others that are bringing their GNP solutions to movie and polka dots General message passing system like I've mentioned before is xcm although there's a very different sort of key thing here that it's a polka dot you're already trusting polka dots security and so act polka dot will guarantee in a way the xcm execution right and so it it's a little bit more secured because um you're already trusting polka dot for and their economic model for for security securing your own blocks as a blockchain right so um this is one of the the probably best examples of connected contracts and and the project is called Prime protocol right and by now you already understand the idea of connected contracts is that you can access any asset any user any blockchain from from Moonbeam I've mentioned the example of Lido when you could access uh relay chain features like staking from Moonbeam and this this is you know it's taking kusamas or polka dots um the example of primer protocol is really really interesting because it solves sort of like uh the liquidity fragmentation problem the idea is that Prime protocol will will have sort of like the brain of the smart contracts leaving on Moonbeam and it will have sort of like a subset or a lighter version of the of the logic on all the different blockchains right let's say you know uh ethereum Avalanche um anyways all the different blockchains that we know BSC and everything else and so the idea here is that uh let's say a user wants to deposit collateral uh from ethereum but they want to Mint uh the stable coin on on Avalanche right what will happen is that that liquidity will actually move from ethereum to Moonbeam and so basically the the brain of the operation in mumbim will say Okay a user deposited one eth or whatever on ethereum I'm gonna bring it over to Moonbeam and then I'm going to basically mint the stable coin that the user wanted to mend on the target protocol right and so this solves basically the problem of having uh to sort of like users um fragmented everywhere because you're allowing that that solar smaller logic that we've deployed to all the other blockchains allow all the communities in these blockchains to interact with your protocol but you have the core layer of of the logic and everything happen underneath like I in the back end happening on movie and so this this relies on this GMP protocols like axelr in this case I think to sort of pass messages all over the place and so the benefit of connected contracts approach uh you might have already answered these questions yourself but you know it solved the fragmentation issues uh that it inherits will multi-instance approaches like we've seen before with uh Sushi increases the efficiency by using specialized chains and scale out strategies in this case for example we can think about the centrifuge example um they need to have their specialist chain that need to have sort of like liquidity and so they're using Moonbeams and the connected contract approach uh in this case moving will be the specialized chain that is providing this bridging service um and then also improve the end user experience by hiding the infrastructural complexity and actually for this I'm going to bring another example which is uh that you can actually now send Dot from polka dot to osmosis and Cosmos and the idea here is that in the near future hopefully the user will only need to send sort of like thought to a single address on polka dot and then all the complexity it is hidden from the user and then the user will see the dot on osmosis and all the complexity it's it's hidden underneath by sort of this connected contracts approach and that is basically what we think that it's it's it has to be the goal in the near to short term okay so GMP protocols I mean you understand more or less the idea by now but the idea is that you have one blockchain you have another one and you're sending basically a message it could be from the magenta blockchain hey drcn blockchain our communication seems to be so one-sided uh and so I mean the idea here is that you know you have an interaction this message could be hey write this to the smart contract uh you know do this with this other smart contract and so we have two main sort of like uh inter blockchain communication systems on Moonbeam one is polka dot or xcm that it's in like I said before inherently secured by polka dot and allows this participants of the polka dot ecosystem to interact with each other and we've already seen this and this is live where we have a lot of sort of like uh dots living on Moonbeam we have Lido's taking solution we have other ones coming with centrifusion and others are in the work right now we also have Journal GMP protocols uh these are different protocols that provide different solutions but the goal is very similar that is to execute a call in a destination chain that has been initiated through a call in the origin chain right and we have different uh Integrations right now on moving like XLR layer zero Wormhole and many others if if we have any others between now that I'm recording this and the the hackathon I'll add them to the slide uh only today we're going to talk about interability in polka dot and xcm but if you want to learn more about GNP protocols I recommend you to visit their documentation page um and just basically apply their sort of tutorials and into self our testnet cool so xcm Pokemon xcm like I've mentioned before is the native intra communication layer of polka dot xcm is basically a given instructions basically let's say uh the instructions are stand up walk 10 steps to your right and turn on the light switch and so the idea here would be that Axiom contains uh a set of instructions that all the para chains or the blockchains in the polka dot ecosystem can understand and will do a set of actions that these instructions basically ask you to do um there may multiple ways uh there's actually a virtual machine that you can call the Axiom virtual machine that it's going to interpret and execute these instructions within the xcm message right so this would be sort of the logic or the brain that will read the instructions and execute them as they go there are many communication channels uh in in this xcm sort of Technology uh the main ones are they actually the channels are unidirectional meaning that if you want to communicate to another parent you have to make sure that there is a bi-directional channel and these communication channels allow message passing in a given Direction uh you have for example ump to communicate from movement to polka dot DMP from polka dot to Moonbeam and then xcmp or hrmp between parent chains and this is basically how the messages are passed around the cool thing is that in general uh pre-compiles that I've mentioned before allow you to hide all this complexity that I'm I'm explaining right now and basically it provides methods that are a lot simpler to use because all the set of instructions that you need to send and everything are hidden from the developer right by using this pre-compiles and that's the main idea so let's let's go through some scenarios right so the first one is remote transfers this is one scenario that's probably the most logical one let's say you want to bring Dot from polka dot to moomim right how would this SNR look like and these are the sort of uh Axiom instructions that are uh needed in the in Moonbeam and these are the instructions that are needed on polka dot so the main idea here is that you're gonna send your tokens through an exam instruction you cannot send it manually because it will not work you send tokens uh from polka dot your account on polka dot to the special account called Sovereign account that is controlled by the moominium para chain it's not controlled by one person one protocol one bridge is controlled by the blockchain itself and it can only be accessed through specific ways and so once the tokens are being held by this account Mommy will actually receive the next CM message with the following instructions that is basically saying okay I can ensure that the tokens are being uh held by my account on the relay chain so I'm going to create a representative asset called in this case XC dot I'm going to send it to the account that the xcm message X instructed me to we have a pre-compile for this called X tokens where you don't have to worry about XM instructions just follow a tutorial and you'll understand basically what you have to provide the second one is remote execution I already explained this with the Lido example but it's really cool because you can actually transact uh any sort of bytes that you know perform an action in a destination chain I'm gonna I'm not gonna go through that because you know it's not really that important but you can see the xcm instructions that are related uh or like are needed for for this action to to to exist and last but not least we have remote evm calls this is still being worked on and it's available on Mumbai software testing it but it will allow you to trustlessly and remotely call moomin's evm from another chain in the ecosystem so on Bridges we know we can do that with General message passing protocols but um on polka dot it's a little bit different because you have to do this in a trustless way um remember that in bridges you sort of have the security uh problem let's say where you're relying on the bridge to pass your message and so here we are still writing the documentation there's still some security uh not not security problems but the sign choices that were made uh to sort of prevent certain type of collisions like with the evm transaction hashes and everything but you can actually use this on mumbai's Alpha today and we have projects actually working on integrating this solution with their sort of like Tech stack so I mean this is really exciting because projects I don't have any VM will be able to access nadm through xcm and polka dot and going back to the remote transfers scenarios we introduced something called the xc20 and the main idea is that usually when you want to ship assets through the ecosystem in polka dot they have to be substrate based assets remember that substrate is the SDK that when we will spilled on top of and sort of only substrate assets only assets that are created with the substrate interface can actually be sort of shipped around the ecosystem this means that regular erc20s cannot be sent through xcm but then what we've done is that we've sort of built an erc20 interface or pre-compiled on top of xc20s and this is what creates the xc20 token and actually 20 XC comes from the cross chain terminology and so basically the cool thing is that you can actually access this xc20s from tools like you know hard hat truffle web3 JavaScript ethers web3 python if you're a python person um as a regular erc20 but then you can also use some other pre-compiles IV X tokens to send these active 20s around and sort of the cool thing is that you have the best of both worlds and that's why we've seen for example projects like dexes right like sendling solar beam uh Stella swap beam Swap all these dexes are implementing or adding sort of like this xc20ister liquidity offerings or swap offerings right we have XC dot on Estella and beam swap we have xdksm on solar beam and so so you know this is becoming the thing where project parentings want to tap into moomium's defy ecosystem and so they'll create an xc20 that represents their token and then we'll contact the teams uh for D5 uh and then the other uh possibility is transact that it allows you to do arbitrary calls uh with purchase execution so like I said before this is how for example Lido Works we're buying execution on polka dot and we're doing a transact where that transact is basically stake uh but you can actually call our evm as well through this and like I said this is still being work uh I mean this is the documentation still being written and we should have it soon so you guys can use it on the hackathon uh there's certain limitations here you cannot do anything that you want but I mean it's pretty pretty open uh we're still thinking about how we integrate with other projects but this is basically the interesting part right I mean token transfer is sort of like everyone now sees it as something that it's a given uh this is the more interesting part where we'll see more advanced interactions being worked on between Mumu and other projects like the Lido example that I've mentioned before or the centrifuge example so how to get started with um you have two ways I mean you can also go directly to production if you won with Moon River and Moonbeam but you have the way of of a development know that it has instant finality so every time that it receives a transaction it would create a block like a notch and you can get one started with Docker or sort of the more hardcore way which is like you know I want to compile the binary myself you need rust for this it's a little bit more complex so I personally I recommend the docker way but on the other hand uh and by the way the the development node has some limited features you cannot do xcm because it's a standalone node that you have for yourself on the other hand you have Mumbai sofa which is our test set and it's accessible for everyone you have HTTP and websocket endpoints you have staking features governance features uh and xcm features as well and so it's a little bit more complete but you know it's a little bit slower because the block times every 12 seconds so I mean you you should just decide depending on what you're trying to build go with a development node or go with mumbai's Alpha so if you want to do a development node I personally recommend Docker like I said you just run this Docker command and that's it you have a standalone no running super super quickly they're different flags that I've added here if you want to have a block every X seconds if you want to trace RPC calls it's a little bit of everything so I'll leave it up to you to sort of like you know if you want to use them or not on the right hand side I've provided the instructions for the binary way of running a development node like I said I don't personally recommend them you need rust you need to clone the repo uh check the correct rust version and build the binary but if you want to do them the instructions are there the second approach is by using moon base Alpha uh you have the HTTP and websocket endpoints are available in this URL please know that the public ones are rate limited so I mean if you want to have a more performant one you will need to contact the endpoint providers and and and enroll to their service they do have free tiers if you want to get started with ether.js or web3.js is super super simple you just need to create a provider on ethers when you provide the in this case the public endpoint for Mumbai South thought even though there are other public endpoints and then for web3 JavaScript it just created using the web3 Constructor just create the web3 instance it is as simple as that there's there's no other uh requirement uh boom is very ethereum compatible like I said before and with this you'll have a provider or you'll have uh you know a web 3 instance that is already movie enabled for truffle and hard hat uh defined a provider in the Truffle config or hard hat config file as you would expect with any other network it's very very straightforward just by using the endpoint and the chain ID you have everything already ready to go so uh quick start Survival Guide this is a page that we released uh yesterday I'm recording on Tuesday October the 4th um this is if you just wanna you know get started super quick I don't want to know anything I just want my end points I want to know what block stores you guys have and everything just click on this link go to this link and you have all the information to get started super super quick including faucet information for Moonbase Alpha so everything is in there our documentation is very thorough so if you have any particular sort of Integrations that you want to take a look at there's a lot of information in the documentation side but if you really want to get started super quick this is your url okay so now we're gonna do a very very simple demo um We're not gonna do anything complex no worries but it's gonna be super short just to help you get started so I do have my metamask here as you can see um I already have it connected to mumbai's Alpha if you want to get it connected I think the easiest way you can do is visit our dog site and click here and connect metamask you will be given the option to connect to moomimu River or mumbai's Alpha and if you click on moon base Alpha it'll automatically configure metamask for you and so once you have a metamask connected to mumbai's Alpha you can do as you would expect right you can send tokens uh you can actually even add erc20s uh in here and everything right so what we're gonna do today is we're gonna deploy a very simple erc20 and we're gonna import it into metamask so for that as you would expect I'm gonna go to remix let me actually increase here the size I'm going to create a new file called erc20 dot Sol and I don't really want to write the code of India C20 so what I'm going to do is that I'm going to go to open sampling contract Wizard and I already have an example here for you guys where you actually just click erc20 provide the name of the token the symbol if you want to prevent anything and then you add the features that you want right super super simple very very straightforward and all this works with mummy miss you would expect so what I'm going to do now I'm going to copy the clipboard you can also click use the open remix feature but I'm going to copy it to clipboard I'm not sure if it did it so I'm going to do it manually I'm gonna Fix It remix I'm gonna paste this information here as you can see I already have the compiling feature enabled I normally have Auto compile but if you don't have Auto compile you can press Ctrl s in here or just uh compile it manually as you have here so I have my erc20 token called youth Bogota 2022 uh ready to go the next step would be to go to deploy and run transactions for sure I need to connect to my injected provider metamask as the environment because we're going to deploy on mumbai's Alpha telling me that it's unlocked needs to be unlocked which this ah okay so wait I do have some messages here so let me refresh remix this tends to happen once once in a while and this is a remix problem this is not or I'm at a mask problem so probably if I refresh remix um it will probably oops I forgot to click here it'll probably work itself out all right so I do have my erc20 it is already compiled hopefully so I should be able to uh it's compiling I'm gonna go to deploy and run transactions it's already compiled so I'm going to go to injected provider and you can see that I already connected to Mumbai saltha this is a chain ID I have Alice the account selected with this amount of Dev tokens and I'm going to deploy my East Boca top 2022 so when I click deploy as you would expect I get a metamask pop-up all right let me expand this oops all right so we have here and you can see that I can just scroll down and sign the transaction and now we have to wait because this is a 12 second block time uh with the synchronous backing which is the technology the parity is developing we might see six seconds block time but this is still being worked on I think it might be live end of year but we'll see but now we're just waiting for our transaction to go through uh and this will just deploy the token uh into mumbai's Alpha as you see I have it here I have all the erc20 token methods that you would expect I have also the domain uh type hash because I put a domain separator because I put the permit stuff so um I have the name I can check the balance of aleith which should be 1 000 tokens plus all the decimals here so if I do this this is all as you would expect on any ethereum-like environment right I can even go ahead and copy the erc20 token go to metamask and import it and you will see that I have my if Bogota 22 token and I have 1000 and I can just quickly quickly import it and I can send it to any other account that I have here let's send it to Bob and I'm going to send 10. and this is all like I said as you would on any other ethereum like chain you can see that I'm I'm paying uh I'm sending 10 and I'm paying the gas fees in Dev token and then I'm just going to confirm and we can also see the blocks uh transaction in blog Explorer this is Moon scan which is ether scans develop uh deployment on Moonbeam and you can see that this is a Mumbai test and transaction only so once the transaction is approved you will see everything here moomim offers a deterministic finality this means that we don't have to wait for Block confirmations we just have to make sure that the transaction is shown as final and moonscan has this integration already done meaning that once the transaction is marked as final it is already done you can see here that the trans the block is still unfinalized so the transaction cannot be considered final yet but it's not like an on well ethereum proof of work where you had to wait a certain number of block confirmations to ensure finality so now you can see that you have here the blog has been finalized so this transaction is final and if I go back to metamask uh actually alif has now 990 EB 22 and Bob should have 10.

so I mean like I said this demo was super super simple because it's just to show you like this is like an ethereum-like environment if you want to learn a lot more uh you could just have to visit our documentation site this offers every single piece of information that you probably need to get started with boombeam and if not we're very active in our like channels like telegram or Discord for technical questions so um now that we've done with the the demo let's do the bounties really quickly so we have two bounties for each Bogota they're mainly focused on inter blockchain communication uh and and I mean mainly the first Bounty is creates that create a cross chain Gap uh the idea is that it must be around Moonbeam and connected contracts you can use any of the GMP supported by moomim this is xcm or external it doesn't have to be xcm just create a cool cross chain adapt to Showcase sort of a connected contracts approach um the second one is use one of the moonbeam's free compiles so the idea here is that you can create a cool dab bot or feature that users one or multiple movement pre-compiles be creative and have fun if it's related to inter blockchain communication it's better but it doesn't really have to be right I mean you can create any sort of dab bot or feature that just uses looming pre-compiles just to show how powerful pre-compiles are some of the relevant documentation you can find on the right hand side we have to pre-compiles URL uh the Axiom page of Moonbeam we also have a specific one for Trans uh transactor pre-compile and I also added the uh we created a series of articles with axillar that aren't connected contracts and here we are deploying a very simple example hello world we have one coming up that will be a multi-chained app as well and so you know make sure that you check this one out and you check other ones in the moomim.network website because those will be helpful to sort of uh build uh the connected contract dap so um that's all I have for you today I thanks a lot for for tuning in into this this Workshop hopefully you found this information helpful uh how you can contact us if you want to know more uh go to our moomim.network website for sure our documentation side has like I said before a lot of information around how to get started on Moonbeam you can go to our movie official telegram Channel our Discord channels while it's very active and you can follow us on Twitter at mummy Network today's presentation you will find it on the right hand side of the slides uh you can scan the QR code or visit uh the bitly link boom eat Bogota 2022. so yeah thanks a lot for tuning in once again I'll be actually in eth Bogota this weekend so hope to see you there hope that you decide to build on moomim I hope you actually check the bounties out and work on them so thank you very much and yeah I'll see you in Bogota [Music]

Automatic transcript — names and jargon may be misspelled.