Hi and welcome. My name is Kevin, CTO of EVBN, founder and core developer at Matalabs and the repo master for this project. Today we going to dive deep into the core concepts of EBBN and get you started with some practical examples. The EBBN is a solution that allows us to have our own customizable virtual blockchain using an existing blockchain with a recurring cost, allowing us to make improvements in process, speed, and performance with very little effort. EBBN uses smart contracts to create a virtual blockchain on top of an existing one.
This gives a unique state and custom functions while inhanded the host chain security and connections. Our contract act like a virtual RPC allowing for the permissionbased transactions controlled by your EBBN's configurations. All right, that's a high level overview. Let's get hands on. So I'm going to walk you through the essential resources.
Let's start with the organization GitHub. In the repository area, you're going to find all the repos for EBBN. For example, we find the TXample template for this tutorial. You're going to find the EBBN.de repo, the playground contracts.
This is not important for this tutorial. and the test net contracts some libraries and research and feature. So let's start with the test net contracts repo contains all the test net contracts. So let's give it a quick if you go to SRC contracts EBBN EBBN.sole you're going to find the heart of the EBBN.
So you have functions like payment that is pay you find functions like pay multiple and functions like disperse pay. And if you go to SRC again, contracts name service name service.sol, you're going to find all the domains and identities for EVBN. And if you go to staking staking. You're going to find all the staking m mechanisms for EVBN including the estimator.
And if you go to script, you're going to find all the scripting for deploying your own EBBN. And if you go to make file, you're going to find the easy way to deploy your EBBN. And if you go to more easy way, you can activate the EBBN in it. SH. And if you go to the introduction, you're going to find all the explanation that EBBN creates built up blockchains on top of the host like Ethereum arbitr with features like gasless coms and vertical scalability.
And the quick start part guides you to how to deploy your own EVBN. This is for advanced users. So if you are a beginner, it's just a quick summary about this part and everything EBBN related. You can find it again on eBn.info.
On eBnde, you're going to find all the tools and handy utilities for the EBBM. So you get a file set or drip tokens, a balance to check the Hollands, and you're going to find the patent signatures, the staking signatures, and name service signatures. For this workshop, to keep things simple, we're going to use the pre-eploy EBBN on Seapoleia test net. So this is the address for the deploying EBVM and if you can see the contract code is onchain verified and completely transparent. Okay.
So in this workshop we're going to cover three key things to get you transaction to the VBM. So the first we're going to make a basic payment function. The second we're going to use a synchronous DOS for security replay protected operations and we're going to use an executor for advanced transaction. So this uh front end this example front end you can find it too on evbn or in the repo in the txample template. So if you head over to the documentation and the process of the transaction and you see the genetic flow of the transaction, a user prepare the input values from the front end or any application decide the transaction and send the transaction directly to the fishing spot to a fisher get the transaction check the transaction uh drop it if the transaction is invalid and execute the transaction inside the EBBN or any server.
this. So imagine this part it is the fishing spot and if you click the execute is like a fisher execute the transaction directly. So you head over to execute the transaction and you head over to the block explorer. you're going to find that you successfully execute that payment with all the inputs and signature. So the next step we're going to apply the nons.
So quick run out about the nons types and inb we have two types of nons mechanisms sync and a synchronous execution. So if you head over to evbba.info/bnownstypes info/doc/evbn/nown types you're going to find a quick description about sync nodes. So the sync nons is a consecutive counter that increments sequentially by one each time a payment transaction is executed and the async nons is a non-consecutive number that is user generator and transaction specific unlike the sync nons and sync nonses do not follow the predeterminate sequence and can be valid number chosen by the user. So uh for every nons we have advantage and disadvantage uh regarding the syncs and synounces.
So this time we're going to use a synchronous nonses to execute that payment. So same we're going to add this token address to this address. We're going to put this amount and we're going to put zero priority P and we're going to choose a random nonsense. So if you create that signature, the main difference is that this flag is true with the non synchronous. So you sign the transaction and go to show data, you're going to find that priority flag is true.
That's because we use the asynchronous nonsis. So we're going to execute that. And if same if you head over to the ether scan block explorer and use the decoded input data you find that the priority flag is true in this time and it's the same with the async nons we apply. So what happen if I change like the amount and sign with the same as nons and execute it too. This time we find a little revert invalid async n.
So in the last transaction we use the same async nonsis. So if you make again another transaction with the same asyning nons the transaction automatically fails. Okay we had covered the simple explanation the explanation with noises and this time we're going to explain how executors works inside the EBBM. So an executor is an address that can only execute that transaction. Imagine as a voucher.
So if you have a voucher with your name, only you can redeem that voucher. But if someone tries to redeem that voucher with your name, obviously they can redeem this voucher. This time we go directly to say yes to are you using an executor and I'm going to put my address in this input. So we create a signature. You can see the new difference that the address this address is the executor going to sign this and show data.
So you see this is my address and this is a part of the executor. So if I execute this transaction by myself the same address as the executor and you can see it successfully execute that statement. And if you can see in the input same address as I have with the executor. So what happen if I put different address and directly try to execute by myself. Okay.
So we're going to use the name service just as an example obviously with different um async nouns. Let's create that signature. sign that signature and show data. You can see different executor and we're going to execute this transaction. Okay, we had an error.
Sender is not the executor. And if you can see the from we're going to copy this address and we're going to decode the input data and press Ctrl F. Try to paste that address. You can see the address the address is different to the executor. So reverse the transaction because if you see the documentation over the page function in this part of the workflow the second part execution validation if executor is not the address zero check is that sender matched with the executor address reverse with sender is not the executor if don't match.
So obviously we try to execute with a different address to the executor. So automatically reverts
Automatic transcript — names and jargon may be misspelled.