Starknet Fundamentals
Web3Bridge·Wed, Oct 9, 2024, 12:00 AM
Transcript
e all right so I'll be talking on St fundamentals and this is what we'll be doing today we'll be touching on why St next why KY St architecture overview Universal deployer deay versus deploy invoke versus call and smart contract versus Li yeah so hope we saw that hope you can see the SL pleas okay all right so starting with st anyone here wants to tell you what they think St is you've been hearing about stet for some time now what do you think is stet so anyone you can send un mute your mic so nobody here know what yes tell me friend yeah so um for me my understanding of St is solution that helps ethereum that c to eum tr problem of scalability so that's what I was okay thank you very much all right so why happening so stet is a layer two Network that makes ethereum transactions faster cheaper and more secure using V technology so is Lay we only Layer Two is it is used on top a base layer layer one network and why do we have layer two layer two are there to help scale layer one so is here to help solve the problem of ethereum the TR issue that ethereum has helps to make transactions faster cheaper and more secure now is St is using ZK technology to achieve this how are they doing this how are they making transactions faster how are they making transactions cheaper because they using the ZK stack technology this technology helps in bing of transactions bonding transactions and generating proofs that are very very small in size and because these transactions are being bundled and bed together it makes the gas fee the gas cost very small it makes the the the the execution side for the transactions to be faster and and cheaper so think of it as a boosted layer on top of eum optimized for Speed and cost so because of the St technology it optimized for Speed and cost so why St why the B about St why why should we build on St what is St actually doing so the first thing is that it solves the L1 scaling problem we the L scaling problem how so we all know the current transaction of ethereum what is the current transaction of eum for ethereum can can you guys me yes okay so what is the current transaction in they one understand be I didn't get you what did you say I said I didn't get the question he said the current transaction so TPS what is the TPS of what the current TPS onum wow how many transactions are exed in in currently really guys how long does it take for a Blog to reach 12 seconds seconds 12 seconds seconds for a block to finality and how many transaction are included in a block okay I think I think it's because some some transactions might require more gas than other transaction so I don't think there I don't really think there's like a fix number because some transaction can take less now in ethereum what is the transaction to in ethereum what it what what is the transaction I didn't I didn't get I didn't get is it like trans po how many transactions get included in a block per second wow I think 11 n who said 11 n per second I don't think there's a number for it cuz the only number I know of is how long it takes the block to reach finality is 12 seconds for I don't really think there like a fixed number because it depends on the complexity do you know what I mean by TR what is yeah I think 15 transactions it is between what 15 to 30 transactions oh okay so now how did you know that you guys yes you guys have work to do all right I'll continue so it solves the L1 scaling problem why I'm trying to explain that time for every transaction who speaking sorry it's me you said something like top put like I couldn't get it can you say type it in the chat actually in in sincerity um for me I don't know for the I'm I'm just hearing about I'm for the first time I'm talking about me myself read it it yes okay so um s of the scaling problem how when a validator propagates a block at least we we we understand what it means for evat to provide right yes okay okay so when when a validator propagates a block what does that the validator do the validator verifies different transactions right and includes transactions into the block and then brast this block to the other on the eum network so that this no will validate this right and make this included in the chain right on a high level now in the in ethereum once a validator has validated a block and broadcasted other noes do not include this block into the into their n into the network until they execute they re execute all the transactions the transactions in the block that has been propagated and and and and once they execute all these transactions and it it came with what the initial validator that propagated the block is propagating then they include they accept that block and include it into the network now this is a very time consuming process and also rest consuming because each validator each node have to reexecute these transactions in the block before they are satisfied to include that block into the network and if they are not satisfied then the block willon be included into the network what does stet do how does stet solve this healing problem stet uses sorry darket uses ZK T technology it uses Z technology in in the background so once a valid propagate a block execute transaction and validate this transaction then include these transactions in a block the next thing is that this validator sends this transaction bond to the pro to the Shar Pro this Shar generates a proof for these transactions that have been bonded after it generate the proof for the transactions that have been bundled now that proof is now smaller inside than the block itself it's just a proof stating that everything in this in this block have been um verified and the transactions are valid and they should be executed and then what gets sent down to L1 to the verifier is the proof what get sent down to the verifier is the proof now the verifier then proves this to be sure that it is valid and once the verifier proves it and feel that is valid the transaction the block reaches finality in L1 So This Is How They solve the L1 scaling problem normally it is fast it takes in more transactions than normal in layer one each transaction needs to be verified validated by all the validators but this time around it is just a small fraction of all the transactions that needs to be validated and then the not as long as theol generated the not include that block into the network so let's say if it takes if it takes if the if the proof of one if to prove one transaction takes 10 minutes because a prove now has been generated for over 10,000 transactions at once it's just to prove that the information from in that c is valid and once the verifier Prov it is valid all the no do not need to reexecute the transactions in that block any longer all they just need to do is run is verify the proof as long as the pro is valid then they add the into the network now this automatically boost healing it helps to um to it helps to increase the trut of in this of the of transactions it helps to add um what do I say execute a whole lot of transactions at a very short time in the network because of this system and then because a whole lot of transactions have been bond to significantly reduces the gas cost per transaction in the St ecosystem also stet uses validity tool that is what I I explained that they use validity prove and that is why it helps to batch up lots of transactions together and send these transactions at once to the layer one instead of how layer one does currently that it just admit 12 to 15 or now that it has off T transactions now you can send thousands of transactions at once to one and because uses validity proof validity proof makes the transactions the bond transaction get finalized in L1 shorter than using optimistic rollups so it takes approximately maximum of 10 hours for transactions to be finalized on L1 but less than 30 seconds to 45 seconds for transaction to be finalized on L2 also why stet stet uses stack and not snack so black uses the ZK stack technology and not snack now I want you to to get to understand this in this concept of v stack for stet we're not saying that um the the the basis of of this reest is for reduction of the size of tools it is not about privacy in this context it is not about privacy it is about Pro SES reducing proof size so I I want you to see it this way just as you have a file in your computer a folder in your computer that has different files in it and then you zip that folder zipping that folder compresses the folder and reduces the size right to a very very little um um amount that is what is going on here that is what tech the is doing here is compressing the size of the tooth to a very very tiny size only like how the the the prove was supposed to be when you when you generate a pro that is validating that is proving thousands of transactions at once so the technology here reduces the size of the proof to a very small size and that is why that is what is going on here when you hear me say stack for St night I am not just talking about privacy I am talking about two sides please thank you so start US Stock and not snack why we all know we do we know what snack snacks are oh thank you n okay do we know what STS and SNS are no you don't know yeah idea you said you have a small idea guys speak out now what is yes like I read about it somewhere okay okay cool all right so um that us stats and not snacks because for snacks you need a trusted setup you need you need a trusted setup SS are naturally um smaller in size than STS I think get as low as two8 by while um Stacks can get as L as 400 byes U 400 kiloby but with snacks you have to continue you have to Pro um countless times you have to continue itating over that FL countless times before the verifier can accept that the TR knows what he's doing while for stack there's no trusted setor so you don't need to do the back and forth of continually proving that you know good so for stack I want to prove to you guys that that I know um I know um we three bridge and then to group to you guys I know you guys are verifier I am the TR and then you will ask me um which state is situated at and then I'll tell you Legos then you ask again uh which area inos is the situated at then I I'll tell you do then you ask again like we can continue doing that back and forth back and for back and for back and you get satisfied that I truly know where bridge is situated at without really telling you this is where the Bri is but I'll tell you I know where it is now that is for snacks and these GRS are very very small in size because is a back and forth thing now for stack there is no trusted setup you don't need to do this back and forth back and forth back and forth it is just to prove your that you know it and once the verifier the price that is now with tax there is a fut advantage of being Phantom resistant so that means when the quantum computer starts being in used and in the quantum computer cannot cannnot break through a computation that was done a proof done using STS so that is just the those are the benefits of um of using stat St are also optimized for ZK so just like I tried explaining here that in this context using ZK te is for reduction of file size and reduction of file size automatically means faster transaction time faster verification time and cheaper um cheaper gas consumption also White stet St has a powerful programming language and what is the powerful programming language s uses it uses Cyro which has been deeply inspired by rust also with stet you can withdraw your asset in L1 in less than 10 hours so if your your transactions your your assets are within the L2 within the L2 netor you can actually transfer to another account and withdraw within 30 seconds but if you trying to withdraw your asset in L1 you'd have to wait for approximately at a Max 10 hours but now the times have been slowed they have done transactions that I was able to rraw my Assets in less than three hours less than four hours and can in L1 so it has been worked upon but then if you are trying to do some bridging and you do some swapping the the the bridging um client and swap CLI can can make the transaction take some time but a maximum of 10 hours and your and your asset gets into finality and then seven there no there's no need for a process setup because we are using stack technology and not snack technology um okay so next white hyro so before I start white hyro is there any question is there any question can you hear me yes I can hear you so what's the difference between and stack so snack uh something subin non inter uh um non interactive arguments of knowledge so what Snaps are is that they are small sizes of TRS generated to prove the authenticity or the validity of something that a is trying to to send to the verifier so with snacks they are small sizes and you need a trusted setup this trusted setup can be anything created just to be to to to trust that whatever is going on here is actually valid is actually true and with snaps there needs to generate can generate um different types of tool just to prove to the verifier that this um information that I'm trying to let you know I know I truly know it I truly have this information but with SS are much larger in size than snacks but then you don't need a trusted setup it's just a one time um TR you generate the trace as a generates execution trace and send to the verifier and then the verifier verifies the proof he just generated and once the proof satisfies the condition once the verifier see that the truth is valid it is correct it gives the same output as expected then works with it and if it doesn't then it denies it declin the tool that was sent and then with stats stats have the the the advantage of being Quantum resistance so when quantum computers come in those Super Mighty bling fast and whatever computers comeing come into the into vog those type of computers still cannot hack a stack truth unlike a snack although this has not been this has not been proven because we' not in quantum computer yet right and there's no quantum computer that have tried to St but that is the idea that is how the St will to be Quantum resistance so you'd have to do some more research on ZK St and I think yeah this place will give you so many explanation of as was things in the littlest of in the tiniest way or the the most simple way that you can understand what is but with the little explained you yes yes I'm a bit clear now thank you okay thank question so what is okay thank you so much Emmanuel can you guys hear me clearly or am I breaking no you're not oh okay thank you so um is that does anyone have any other question yeah I I do so we were talking about we talking about like a programming language that uses yes I don't quite yeah okay usyo pyro programming language H yeah thank you thank you yes you're welcome so Cairo Cairo is in the same family of Rost and it's been heavily heavily inspired by rust so if you learn Cairo you are as well learning rust and if you if you just the it's just um the difference is that CYO is executed using its own VM his own virtual machine so that is the difference it is VI for the Kyo VM but everything when it comes to syntax and how ownership is being being handled in R it is the same with r so CYO is like 95% rurr so if you know Cairo then you are you can as well say you know R and if you know Rost then CYO will be a walk over for you to learn okay so um is that okay with you Matthew any other question yes yes it's okay with me all right thank you okay so why Cyro so Cyro is a programming language that creates programs it runs on its own virtual machine for the VM now when we say CYO creates programs what do I mean by that just like I explained that we use Z St technology in St Z St technology what does it do is that it helps us to prove the validity of a of a transaction or yes of a transaction right so pyro helps us to create provable programs unlike other programming language that just help us to create programs that run on the FR end and stuff you don't need to prove these programs but with Cairo you are able to prove these programs behind the scene the validity of the program the the the the the the output of the program are using CYO in the CYO GM now why is CYO using CYO GM and not ZK evm or the evm and um and why do we say an L2 right someone has that question right like when we say is an L2 because it compar right so why is this one using its own DM and not even like EV does anyone is anyone asking that question s can you come again so I was saying with Cairo Cairo uses a CYO VM CYO um code is executed using the Kyo GM not the evm and so I was asking has anyone thought about that or is anyone asking that question why is he using a chyro GM when it is said that St is Layer Two on eum is it not supposed to be evm compatible so I'm asking is anyone asking this question yeah I think uh maybe because it's using zero knowledge groups maybe that's why it's not compatible okay cool cool cool all right yeah so Cairo runs on CYO VM so Cyro codes are being executed using the CYO machine because it cannot run on evm because it is not solidity the evm only execute Sol code and solidity code can only be executed in an evm in the evm the eum vir machine or any Z evm or any adaptation of evm now kirro is also rust inspired like I said Cairo can be used outside so with Cyro you have the liberty of writing your normal Cairo program that is your normal JavaScript code JavaScript function python function C++ program you can write your normal code with CYO and also you can write smart contract with KY so just like your solidity solidity is only used for smart contract you cannot write any other program with solidity that is not a smart contract am I am I right are you getting me yes yes yes yeah so with Cairo you can write both smart contract and your normal program with Cyro so for now Cyro smart contracts are only used on the stet ecosystem alone for now as at now also CYO uses VK Tech behind the scen but you don't need to know what the cas but under the hood Cyro uses the first CYO creatable programs with CYO verify without re execution what I mean here is when I was explaining how the noes validate in the block and then add the block to to the network in the normal layer one they have to validate execute all the transactions in that block before if they are at the same thing that the blog proposal was proposing then they include it in their Network and if not they do not includ it so with Tyro using the the two it verifies re execution that this no do not need to run all the transactions in that block anymore all they need is the proof that was generated by the proposal after he propagated the block and ran the and sent to the Shar cover to prove the transactions in this block once that proof is generated that is all they need and once they can validate that Pro and Returns the same output that the verifier that the pro actually stated then they include it into their block so this proof is actually written in Cyro syntax so the Shar PR is actually written and that verified without the execution the the oh sorry ver execution I mean that for the node they do not need to rerun each transaction in the block and what do they use they use this proof and this proof is actually written in Cairo that's what I was trying to say also Cairo prevents kicking and malfunction because of the powering Cyro behind a Prov canot generate a malicious proof and sent to you and it would work with Kyo as long as the is malicious is not to it is not going to get validated so using solidity you don't it doesn't do all this only write your code and send it it doesn't check for anything it doesn't make all the security checks behind the scene doesn't do all the things that CYO helps you do so yes that's Kyro all right so going to stet architecture so before I start any question any confusion okay so the stet architecture stet operation begins when a transaction is received by a gateway which serves as the main tool this stage could also be managed by the sequencer the transaction is initially marked as received the sequencer then incorporates the transaction into the network State and tag it as accepted on L2 the final step involves the TR which executes the operating system on the new block calculate it pro and submit it to layer one for verification so what is this thing how do you start how does a transaction get um keep St the beginning is that someone maybe you Matthew Victoria um KY you initiate a transaction in St so what happens the first thing that happens is that the transaction initiated goes to the memory from the M the sequen picks up this transaction picks up 10 transaction picks up mat transaction picks up Victoria transaction picks up all your transactions execute these transactions and validate these transactions after that adds it to the block now once the sequential picks up your transaction on on the St um um what do you call this you will see it later you will see it show receipt that means your transaction has been received after that after that the transaction will be included into the block once your transaction has been included into the block that means your transaction has reached finality on L2 remember your transaction has included into means that your transaction has been finalized right on the normal L1 or a normal blockchain network but this is an L2 so once the transaction has included into the block it will show you in the scan that your transaction has been accepted on L2 now if that transaction has not to do with asset transfer like moving your tokens from one CH to another from L2 to L1 if it is other thing you can start working and interacting with that transaction or whatever a smart contract you deploy you can start interacting with it if it's a CO you moved from one wallet to another wallet still on that L2 you can start interacting with but if you are moving your tokens now from the L2 to the L1 at this point where it say accepted on L3 it has only reached finality on stet but it has not reached finality on ethereum you wouldn't be able to withdraw your assets from L1 as at this point until it reaches finality so when you see assed on L2 the next step is that the transaction is sent from the sequencer to the Prov this Pro now I told you is a smart contract on St that is written in Kyo right this Prov generates the TRU calculate the size for this block that has been propagated and sent by the sequencer once it has done that it was submit the tool that generated to L1 for verification submitting it to L1 for verification what happens there is that there is another smart contract that has been deployed on ethereum layer one that does verification so all this prove and verification is not done by human being it is done by the smart contracts that have already program and WR and deploy so the layer two have a smart contract that proves that these transactions from Layer Two are valid and needs to reach finality on layer one then the SM contract on layer one verifies this proof that has been generated by the Prov from Layer Two And once this verification is done and prove has been seen as valid the next thing is that the transaction get finalized on L1 and that is what happens when you initiate a transaction on St next that is the entire life cycle of the transaction it moves to the me then get added to the blogen and then get sent to the sh that appr transaction and then they prove and generate a proof and then that prove is sent down to the verifier on lay one and then lay one verifies the validity of the proof and once the pro is came to be valid then the the pro is then added to the block on one and then ites finality okay what is going on so hope this hope this was clear right what I just explain hope you're able to understand what I mean so I have a question okay thank you so Mary you have a question so say from getting a transaction from I have for hours I get my f or something yeah so if you are sending your your your asset if you have asset in Layer Two right in St let's say you have some e or you have some usdc in Layer Two in stet if you want to use this USBC for this in your metam max you want to move it from your stet wallet to your ethereum wallet you would have to wait for approximately 10 hours a maximum of 10 hours so that that transaction be get included into the block on layer one and reaches finality it is when it reaches finality um that is when you can withdraw your fund from your ethereum wallet that is when you will even still the phone get deposited into your ethereum wallet yeah so that's what happen but if you are doing something aside asset aside asset maybe you are a smart contract and others on it gets exeed immediately and you can start interacting with it if you are trying to move your assets from one wallet to another wallet still the St system in less than 30 seconds it it moves and then it refle the other but if you are trying to move it to an L an ethereum wallet that is when it Tak a maximum of 10 hours to get completed all right so start next component oops I wanted to show you guys something let me see [Music] um yeah okay yes please so can you see this clearly guys yes can see this clearly okay so now this is this is what happens in a transaction so these are the gateways you know what they are right like your wallet providers so on on ethereum you have your met ma right you have your coinbase you have your trust wallet in stack next these are gateways so wherever the client whatever client or D you are using to interact either smart contract either decentralized applications used on stet or wallet or whatever it is these are the Goodway this means your access this gives you access to perform actions and transactions and interact on the blockchain so those are is whatever you have wallet that or whatever so now once you TR make a transaction from your wallet it get sent to the sequencer the sequencer receives the transaction make another transaction get S make another transaction get S and until F all the transaction within this once this block is is is filled up what it does is that it moves this block sends it to the now at this point this is where the transaction has been received and once they are added here that mean the sequencer has executed the transaction and have seen that the transaction is valid it gets added here at this point on your on the scan what do you see is that the transaction has been received because it is still here so it will show you the transaction has been received once the block other transactions have been added and then the block is um completed the sequencer moves the block to the once the block has left this place and has been sent to the TR to see this accepted on L2 on the scan that means that transaction you made has been included in a block and has reached finality on St once this block is sent here this cover will generate a for this block and all all the transactions within this block it will generate one Tru once it generates the proof it sends the proof to the verifier now this part everything happening here this is L2 you can see this is L2 St here is L1 [ __ ] so once you generate this Pro it sends it down to the verifier and want to the verifier and the verifier verifies then the the proof is then added and once this proof is added it automatically means that all these transactions that were bonded of here have been accepted on L1 and have reached finality and once that has happened it sends to the St next for the St next for here is a data availability layer like a smart contract or St what it does is that it updates the state of start so when this transaction has been sent here it will change the state of this of this of this stet here and add these current transactions to the state and then the state to the difference so if transaction count let's say a variable called transaction count in this smart contract if it was 1,000 and the transactions that Bond were 100 once it reaches finality changes the the state of the variable transaction count from 1,00 to 1,100 here and this is where your data availability layer is this call is where when you do when you're working with your front end you're using um stet JS or in normal ethereum you use wag me you use this particular place is where that D is reading the information from and writing to so this particular contract is where you can read and write from okay did we get that yes just use emojis okay thank you very much I just wanted to explain it very well so you you have a visual um representation of what's going on okay so back next components so the first thing is the sequencer what does the sequencer do the sequencer validates transactions execute these transactions and bundles the transactions into blocks you also have the sharp what does the Shar do it generate valid tools for stat net and St X so about stet and stet stet is like a a project under a mother company called STW so STW sare is a mother company is a company that seced in Israel that is building stet and also building stackx now stet is the network is the glove chain ecosystem is a layer two on etherum stack where is a company that is managing this project stack X is a decentralized exchanger made by STW so you can call it counter you can you can lien this to something like bance binance and and the like but this is a decentralized exchanger it's not like de centralized so that shed cover that cover this sh generate validity to for both stet transaction and St transaction so every transaction everybody that has been swapping that been exchanging their tokens on statex all those transactions these Prov generates validity Pro for you and also then generates validity TOS for every transaction that has happened on stack net next is the verifier like I said the verifier is an L1 smart contract living on the ethereum blockchain that verifies the truth that been sent by the sh over next is the stet call the stet call is the data availability layer that holds the information the current state of the blockchain it's an L1 smart contract that STS changes to the global State then the full node full node provides D with blockchain data from da so the full no are what gives you access to read and write to the stet for the stet for like I said is a smart contract that holds the same of the blockchain the global state of the blockchain so every information that been written to to the contract or that yes has been written to the contract this hold this daters this full node give you access to read this information from this smart contract so this is what is actually happening behind the scene when you are reading and writing to blockchain you are not just reading and writing to the blockchain what is the blockchain in this point you are actually reading from a smart contract that has been deployed on the blockchain and writing to that smart now it is on L1 why why is it not reading from the L because this holds the current state of every on the on the St it must reach finality on L1 everything done on St must reach finality on L1 so this smart contract holds the true state of of the St system all the transactions so it is expected that the full node will read from this particular L1 smart contract so when you are using your content your D know at the back of your mind that you're actually reading from here that is what actually have been behind the SC okay so stet node St know these are what you have on L2 L2 P the sequencer P the P the full node that gives you access to the data avability layer where you can write and read from for your dck that you're building then what is on L1 for stet we have the verifier and we have the stet call the stet call like I said is the Smart contract that hold the current state all the changes made to the global state of core contract all right any question at this point okay so the next thing you need to understand is okay the next thing we need to understand is the difference between declaring and deploying unlike your solidity SM contract or your traded solidity SM contract you don't need to deplay you just deploy the smart contract straight to the blockchain start next smart contract you have to declare the contract first before you can de now declaring smart contract when you declare your smart contract you register your serial code on L2 also known as a contract class now what is s s is to py I'm trying to look for something common for us S is to like like what like what B is to gsxs we know that right um those that do cont or what with JavaScript you've seen something called Babel before right yeah yeah yeah so so I I say is to Hy what um B is to Javas or Ty so s is a compiler simple and short he a compiler every programming language that is high level needs to have a compiler what is the work of compiler guys what is the work of comp compil like this is simple computer science simple computer every programmer as you decid to become a programmer this is the simple thing you should know when you're learning any programming language what is the work of a compiler I don't want Emmanuel or Victoria or Mary or Ma you to answer I want someone else and I don't want K with you to answer I need someone else what is the work of a compiler convert High Lev code to machine code thank you all right so that is what is going on here that is what fer is doing remember we are trying to execute contract what is executing this contract is the VM the virtual machine either evm or CYO here they are all virtual machines and what are virtual machines virtual machines are simply computers exactly computers that are in the cloud or wherever you think they are but are not physical they are virtual and what does a computer do it takes in input and gives you an output right it's processing data inut gives you an output it has a CPU that all this compilation now it's like a VM is more like a virtual that Tak in information does the processing of the information and gives you an out stores the information and all those things that you will know in your normal computer application of what the CPU does that is what the VM does and then you remember that to write for the computer to understand you it doesn't understand this alphabet that you write he doesn't understand this English it's using something called machine language right and is this machine language that the computer understands so everything you write on the computer every English and every you write that makes you understand what you are reading or writing how to get compiled down to what the computer understand because the computer doesn't understand the clearing smart contract the machine doesn't understand this language what the machine understands B Zer and on so it need a compiler to compile it down to what the computer understands and that is what S is doing here not fully what s is hyro is a very even as it is low level still a high level language why is it a high level language a high level language because it is it has abstracted a whole lot of things to make the code readable to humans to make the code human readable as long as the code is get extremely human readable now it gets extremely high level so the more human level Cod is the more high level it and the more far it is from what the computer would understand and that is why the compiler is needed to break down this high level code that is human readable and understandable to what the computer can understand so see right here compiles down your Ciro code to something called C cing is a Cairo assembly the assembly is what the computer read so when you declare your smart contract what it does is that the code you wrote in your smart contract get compiled down to S and then s STS it on L2 now this is also known as a contract class so what it does it's just like your normal object oriented programming when you have a class the class gives you an instance right of it gives you like a a SK right of anything you're trying to do ites you like skeleton then when you want to work with it you create an instance of that skel and TW it to however you want it to be you want it to be a female flesh or a male flesh or you want it to be something else the class has already given you the majority of the properties of whatever is that particular object so you can use that class to do to produce as many instance as you want from that class instead of generating those instances every time you try to to do something that exactly that so all I'm trying to say is that solidity you don't deploy a class if you bu a token smart contract now you deploy it will just get deployed straight up maybe you made a mistake in in the in maybe um what what would I use made a mistake in the maybe the name you didn't want to use that name and you want to change the name to another name then you deploy another one you to see deploy AR fresh everything that you want that you just you just tent to redeploy as long as you make different Corrections and all you keep on deploying it keeps on creating new projects on the blockchain taking up space on the blockchain but with this declaration it declares a smart contract that is like an object so once you want to deploy it will check if there was something that has been like a skeleton that has already been declared before it will use that particular skeleton to generate the new instance of what you want to deploy and then deploy it for so if you are trying to to deploy to Smart contract and the logic you wrote was what someone had written before exactly if you try to deploy it to declare First Once you declare it will read through it if it has exactly something like that before that been declared as a contract class it will refer you to that particular contract class give you the has of that contract class and tell you to use that particular contract has to deploy your contract so it saves it and F unnecessary re execution of code storage of code on the blockchain so the contract class does not have any internal storage and can be used as a library or blueprint in which an instance can be deployed like I said so just like live your normal Sol they do not have internal storage it can just be used to in your function logic to create a to perform an action that will create a s change or not that is what the Contra class is mostly like the library because it doesn't not change the state it does not um C have any storage in it it does not change it State all it just do that it is declared and you can just use it as a skeleton to deploy large different hundreds of contracts all you just need to do is to change the contract to whatever need to see if it's a cooking contract it will always use the same contract class it is an eny contract always use the same contract class the only difference is that once you deploy this NFS they all have their different contract addresses they won't share the same contct address because they are different tokens the only thing they have similar is their logic and implentation and so the Contra class will be the same but the name the symbol the supply and all those things are different so the contract address will be different yeah so deployer for deploying a smart contract on St there is something called the universal deployer so the universal deployer is a smart contract that deploys other smart contracts it possesses only one selector known as deploy contract so what it does is that it deploys smart contract and how does it deploy this smart contract it uses the contract class the hash of the contract class that you declared before and then the Constructor argument if the the the the doation you wrote has Constructor before you declare the class then you pass in the Constructor arum into the selector with the CL cash and then it will deploy the contract for you so if you trying to deploy a token just like open the now as the for so yeah yes you can on the YouTube channel YouTube yeah YouTube so like I was saying just like um opens the plane as a standard for token if you all go to use the open toing contract what does it expect from you in your smart contract it just expect you to call to create a Constructor and pass in the argument right passing the name of the token the symbol of the token decimal then expect you to call a link function because all those functions that you need to write in your smart Contra have already been written in the open contract you are just inheriting it and using some of the functions now that act of you writing the Constructor argument that is what is going on here when you are trying to deploy on St passing in all the Constructor argument and then the contract class so um Mary Emmanuel a Victoria they can all use the same contract class using likening it to solidity we can say they are all using the same openc um SM contract then Emmanuel will pass his own different talking details into the Constructor Mary passes her own um a passes is own vioral passes are own but mind you before are using the same contract class the difference now is in the Constructor once you send it and you send the Constructor argument the contract gets deployed an instance of that class gets deployed with all the information you set in it and that is what the universal deployer does Universal deployer is a smart contract that employes other SM contracts so you send the argument to the contract only has this function once this argument is sent to the contract Trigg this function this function compil all these things and deploys the contract for you so that is the work of the universal deployer and this is how smart contract deployment is done on stack next so we have different transaction Types on St deploy account deploy account is a transaction type that help you to deploy a smart contract account so just like in ethereum you can just go to your metam and create a new metam wallet with stet once you create a new wallet wallet address you have to deploy that wallet address you can't use it just like that it has to be deployed because with stet all the accounts the addresses on are smart contract addresses so they have a contract they have a smart contract written for that that wallet is a smart contract that address sorry pleas a smart contract deployed on the blockchain so once you deploy it it becomes live it can then receive and transfer out tokens declare declare like you all know is to create a contract class whereby it registers the serial code of your smart Contra and then generate a contract class for you invoke what invoke does is that invoke execute right function it invoke you can make State changes you can make Global changes to the blockchain invoke consumes gas so it need gas for invoke type of transactions to be successful then call call is actually not a transaction because call is a read only um method so it doesn't change the global state it doesn't require gas you are only read from it transaction is only valid when it changes the state of of the blockchain and takes gas and consumes gas sorry so when you are saying when you when you you are when you see a call method it is more like a read only method it doesn't take gas doesn't consume gas sorry and it doesn't change the state of the blockchain so it is not um valid as a transaction type yes deploy contract is a transaction type because once you deploy the contract you will then make a change to the blockchain that contract will become live on the blockchain people can interact with that contract you can go and write as long as to the state of your blockchain it is a transaction yeah so why it is not listed here the deploy contract is not listed as a transaction type is because this is not like a um all this you see here they are methods in the Cairo there are methods but there's no deploy cont method you have a universal lawyer it is a smart contract on its own that help it is not not like a method you can just call on the low level platform so that is why it is not included here as a transaction Ty okay so any questions any confusion before we go into sorry sorry can you please explain um this deploy contract again deploy contract deployer account the one no no no the other one universal deployer yes Universal deployer is a smart contract that helps you to deploy other smart contracts so it has been deployed by stet itself to the network so every smart contract you are trying to deploy would behind the scene actually be deployed by this Universal deployer so it is a smart contract that is solely designed for deploying every other smart contract on St Network so what it does is that it takes in the contract class cash and it takes in the Constructor argument and then it gets deployed and once it deploys it you will get an instance of your contract class deployed on the blockchain so I know it is very it is confusing now but once you you have a hands on session on deploying you you understand why you you would see how it takes in the contract class and the constru and how it get so it is very very different from solidity deployment where you just deploy without calling a class without declaring sorry in Kyro is St you have to declare first before you deploy okay yesu yes it does all accounts on so abct account uses account abstraction like fully the accounted account for you okay thank you that was to ask welcome okay so um the next thing we are to do is let just so I'm to show you guys how to practical on how to start get started on start the first thing the first gateway interacting with any network is have a wallet so for St currently we have two wallet providers that you can use we have agent wallet um Bravos ad wallet this XY and we have bra b r a a b o s and all these wallet TS have Chrome S extensions that you can install on your browser just like your metam so you can go ahead and install agent or bra anyone works so once you install it you know the next thing to do you create your to generate a Seas for you to create a password just exactly like your me so okay so I think I don't have anyone on this application so let me let me let's do it so I'll be installing the bra exension then also I'll do same for arent okay so let's create an urgent wallet so create a new wallet if you don't have an old wallet to restore you create a new wallet you agree so enter a password to process your wallet okay so now choose okay this is a different this is a new um new feature which type of account would you like to create you can always add additional accounts later so if you want to add a smart account it requires your email address you doation you can import your account to mobile app recovery wed lost it's coming soon nice so let's go with a standard account you can work with anyone so your wallet is ready finished let's see the wallet now my wallet has been created on Main net I have 0. and say to save my R I don't have any etherum I don't have any so the next thing that I need to do is to deploy these account so let's go back again the good thing with this um agent wallet is that you can actually deploy a smart contract with this agent wallet so you can come here pass in the information and then get it deploy although I've not done it before so I'm not sure how it works but it does you can actually declare your contct and depl here instead of the other method you have to type in the CLI Cod for declaring and then typing C code for deploy yeah so let's try to to deploy so here I think this is the place for smart contract so here okay so this is a place where you add your your code your smart contract code select the network you want to deploy to and then you deplay after that you come here you pass in the contract hash select the network and deploy so you can use it to declare and deploy your smart contract so I'm trying to see where so to upgrade to Smart account you must deploy this account before upgrading smart account so I'm trying to look for where the deployment is so if you qualify for the air drop you can you can check the wallet address qualifies foras Ed okay I'm trying to to look forward to deploy the account okay let's let's f you can get test it from different so to request test tokens you all know how to do that just copy your wallet address and and I want to find it with st so now I have 20 stack in my W so why is he have to find this place deployment let me come to brow both create a new wallet password I switch to theia network Okay cool so I copy this address and I want to send from this wallet to this address to okay so it's saying it includes a one time activation fee so once you have your wallet you have to activate it also let me see okay let's Okay so it has it has actually sent one thing with um smart account smart Wallet account here if you can perform some transactions in the account it automatically gets deployed and verified so let's see here we could have yeah we have 10 stack so I'm trying to see where to deploy but it seems they change the process I really can't find it but then once you've been able to perform a transaction on that wallet address you it would automatically get deployed okay okay so here you can see that this account is not deployed for for this set up your account on chain so for Bravos I clicked on this settings and then it show not deploy set up your account on chain so this is going to deploy this account now on so my account has been successfully deployed now I can see the version of this my wallet and now I can perform the diverse transactions now you can see the value of the stock has added before it was showing zero because it wasn't deployed so here we deploy the Braes account so let's let's try to sub this arent so you can see that is not deployed so it's notching information about this contract address for us because it is not deployed guys are you still with me so yes you can ask a question anybody able to find it I think agent automatically deploys it I'm not very sure but mine is not any ER okay if you want to sign in um excuse me yes we are looking for the deploy account right yes on ADD yes um I found when I CLI on the account the account yes like this this is not is it on agent or bra agent okay so I click on the account ion yes the arrow and the account one okay it's not yes I don't it's supposed to be somewhere here but if you um so you all have when you click on that Arrow does it show you the option to deploy your account can just reaction you your top left corner right if you click on that account click on the account one if you take you to where you deploy the account you can now accept or transaction yeah yes cck on yes there should be three arrows I don't know why you not seeing it okay yeah yes yes what this one deploy account on my own after account account then okay I can see something something is wrong so sometimes when your do this you can easily do this go and clear local storage there are some sometimes that the wallet can misbehave and sometimes clearing local storage although I don't think there there's anything for it to hash by now so you can clear local storage in case you have e e so sorry about that guys please what was the last thing you heard me say the last thing you said whenever you're having issues with your wallet you can always clear local storage and see Okay cool so if you if you can see the deploy wallet showing please go ahead and your wallet uh excuse me m yes yeah I ier that when I deploy this um wallet now then I nowat went back to go and check if I if I'm going to um see the button so it is once you deploy it now you won't be able to see that Buton again that's what I yes once once you deployed it you won't yeah yes maybe that's what's Happening Here Yeah but it shows that the account has not been deployed it still shows the account has noted I think something is off with this um please has deployed um you can check the contact address on mine is fine here Yes mine is like this this ISO oh good this is [Music] deploy okay deploy so I know once you perform a transaction on that Network to that particular address or account sometimes agent automatically deploy that account so that it can hold the token or send tokens all right so we have this deployed and is deployed now you can see the various um methods available the code the class code is three you can see the AI for this smart Wallet account this is the AI that was used to create that um this is the AI that gives you um like access to the smart contract that will deploy this is the read and the write functions you can read and you can write and other options available methods available the transactions that have gone through this um account so remember I it's called the deploy account what I actually did remember I did not deploy this agent account right what I did was to um transfer I transferred from the foret that I got to another account but in it seems for that to happen is automatically deployed the account and then also called the transfer function so yeah that is now to create your account on stet either use agent or use Bravos and also get your foret that is how you get your foret now if you want to bridge your asset from one chain to another chain on St you have different um Bridges but the most common bridge I use is G I think it's tate. iio so we start with connected okay guys can you hear me so we stack gate ST Gate helps you to brid your stet tokens from stet to etherum I don't know why maybe I the L okay so st. net. so with tet you can Bridge your token so oh you can also Bri thear token nice nice so you this you have to bridge you have to connect your wallet so the first thing you will need an ethereum wallet metx or so so before we do this let us swap so that we have some Heats in our position so to swap they are also different swap on stet but the most popular ones most us is J swap for a KU protocol so I normally use J swap like all the time so with J swap you can start your tokens from tokens to eat so any other to available on the and it happens very very fast and also if you want to check the scan you use St scan.
or you use Voyager so the Voyager or St scan helps you to view the block the block the stet Explorer gives you yeah the stet Explorer that helps you your Voyager online so this particular contact address if you can see here you see something called Clash hash right this Clash has was what has been deployed has been declared sorry it has been declared before so every contract that is deployed we use this same s class to get deployed on agent from agent so I was trying to do something yeah SE so this isia the contact address so you see it does the same thing and see it shows me the value of stock I have in my wallet and the value in dollars and all the transactions that they like remember I told you that we have three transaction types we have deploy account we have invoke we have declare so you can see this type show here as deploy account because we deployed a smart contract account now because we we we we made a right function we send tokens from this account to another account they called the invoke type so guys do you do you see how you see where all the are used You Now understand what I mean by transaction typ now okay thank you yeah so Voyager Voyager online is a block explor Explorer for that helps you to see all the transactions that happened certain ecosystem you can also the transaction that happened on a particular smart contact address all right so J swap to connect my ADD wallet so let me see does this support uh um just support let me see if it supports test next oh cool there a PR so let's connect and want to swap some what is going on so you can see connect next okay so it's still loading I think because it t okay instead of wasting so much time here let me just so okay so I connect my wallet okay may all right so I want to swap some St I to start to wow I don't know what's going on just keeps loading I think they having some down there are different protocols swap I think there's Nostra also available so I want to swap from St I want to SW like I don't know I did this for can you guys see my screen you can mute yes yes yes wow I I still don't know what what is happening here too e oops I don't know what's going on with guys this is even the word this the next okay M okay so I think it was reading before so I want slap back to3 then I okay this is going nice and you can see the gas 0.34 okay so the transaction has been submitted let's open this can so you can see here okay so at this point it is showing not receive because that was when I just the transaction at this point you can see it is rece that means what does it mean based on what I've been explaining guys when you see receive what does it mean somebody and speak see it's probably uh included in a block yes the sequencer included it in the block then here okay this is new sending is new I've not seen this before I think just Mak sense so here the the sequencer has kicked off the transaction from the name pool it is executing the transaction and validating that transaction once it is done it moves it to the block from here it sends it to the TR and once it hasent the transaction to the that means it has finality on L2 that's why you see accepted on L2 the next thing is for the transaction to get accepted on L1 why is the next thing is for this transaction to geted on L1 and this is going to take some time before it gets um accepted on L1 but let's check my wallet now so you can see now I have um $10 wor of eum added or $111 wor of E added to my m so that is how you swap now to Bridge I use G to breach like on next so now I've connected my St wallet it's asking me to connect my ethereum wallet because when you want to bridge it between different layers so I'm going to connect which one next know wasting time okay so it just connected my um metamask wallet so it is showing what I have in my me mask and Sh what I have in my stet wallet but now because I want to send from stet to met I'm going to go I want to send from eum to I'm going to use dep when I use withraw it moves the he so how much i.4 I want to move it to eum then I click transfer so once I sign this transaction once I sign this transaction it automatically starts processing and then it's going to wait for 10 hours at the max before you can see live on my account so here this is um this is how to breach how to swap your tokens how to create your wallet get your foret and then finally yes Victoria right so you say it takes 10 hours for it to reflect on your metamask so does that mean that like it takes 10 hours for this bridge entirely to be completed is that not much yes if you you Bri wallet your etherum wallet it's going to take that long because it is sending to L1 and for every L1 transaction before you see the option [Music] um before you see the option that the transaction has been accepted on L1 it takes time because it will bondle different transactions together first after Bing all these transactions see that all the transactions have already executed on they two then it to generate a proof for this transaction when it generates theol it will send to the verifier on L1 once everyone has verified that then the transaction can reach finality so that is what you get but this is way faster than optimistic roll up if you're using optimistic roll up you know that takes it takes one week it takes seven days seven to eight days before the transac reaches finality so you have to wait s to 8 days before you can access your phont on L1 if you are using optimistic so because this this one is using ZK right so you just waits for the pro then verify like binance or met you would have to wait for some time most time maximum it take is 10 hours sometimes it take 3 hours 4 hours Ma at Ma it 10 hours especially if you using bridge but you sending directly from this wallet to leave your bance wallet it takes at Max 3 hours 4 hours to get completed finality but you're using a bridge like to bridge from this to this sometimes it takes up to 10 hours because once it reaches final the bridge itself has to do some confirmation before they release it open into your wallet yeah so yeah that is it so yes so okay it's related to what asking are you talking about um withdraw or deposit withraw okay so we is one that takes time but the deposit is faster right you know I've not tried deposi before from ethereum to St so I just tried the seia deposit and the amount has reflected in my agent wallet already immediately right okay so that mean sending from L1 to L2 is very very possible very very fast but then from L2 to L1 that's where it takes time because of the Technologies use so I really don't know I've not tried it before and I I've not I so I've not try to even research or figure out why L1 to L2 is is that fast but I think I'm going to do that now yeah so that is it and finally we Victoria you had you had another question right no like I just wanted to confirm if bridges on L1 work the same way on L2 where it's like an external party that does the bridge you're not really doing it on chain or something like that it doesn't work the same way like the way it works on1 yeah so I really don't understand what they do but sometimes when I think I Bri I feel like once you bridge if maybe moves from your wallet and send to the address of the bridge then from the of the the trying to todge and the network you're trying to Bridge and send to your address but some some other school of thought say that once you it freezes the accet wallet in that Network and then up the asset in your wallet the network you're trying to bridge to yeah I've not reset YouTu Bridges because I'm not really interested in bridges but it happen that way something like that happen it has to be somewhere someone that that token and send the token you need the network you need to you so it's not it's not like it will automatically convert the token to to the from St to pull it on unless the team or some researchers decid to build something like that that can convert a token from one token to from it in St toal as long as that has not been done it will always send this to another address send from that always be like a middle man kind of activity that makes sense that's also the same Theory I have in my head to sense so next thing we are left to do is to do the wet [Music] I have a question okay go ahead yeah so um can you import an account like on this agent now I don't know if I can import an existing account that for instance I have another Argent wallet elsewhere because like for metam mask you can import an account that you have somewhere into a particular wallet I don't know here I think you can do it this way okay do you mean import an address or import an account oh now I get yeah I know when you installed the agent it will ask you to import existing account or create new account so if you are trying to import existing account I don't think it is going to work here I don't think it's going to work here when you new account have I actually tried to import um just during this class because I once installed the agent on my phone so I tried to import and but it was asking me to use my pass phrase that means that I use my pass phrase yes that means if I'm using my passphrase then it's it's entirely the account I'm importing that means I cannot add another account because I think I don't know maybe they they are just different anyway from um the L1 I think they're different from the L1 actually like what do you mean okay um yes okay if um I was if I had used my passphrase right upon creating a wallet on my system I use the pass phase and I'm bringing in the entire wallet um I had so that means I cannot have like an account two or account three it's only going to be just that one but you know for instance on metam mask you can import accounts and then you're going to have different accounts like your going to have account One account two account three and so on I don't know if you understand okay I get you yeah I don't know again I know that if you importing a wallet address it's just that wallet you can import you can you can create other addresses but you cannot you cannot have two instances of a wallet in one wallet yeah yeah yeah Ting wallet so if you mean the address like using private key for a particular address you just add that address to this new wallet I don't know how that works okay and again when I um registered the agent on my phone I was asked to use my email address and all those things account ask for Emil oh oh oh okay but the smart your email address yes um all right U please a quick one I want to clarify if um contracts are deployed true addresses yes because um the reason I'm asking is so um so say um I want to deploy a contract on on stocket and um I want to do it with my you know through my address because I I I obviously have to pay pay gas fean or and uh so I'm wondering how how uh how this um how this is going to be how this is structured for instance I I noticed just now that you created another wallet another another wallet yes inside the same account in your agent so you have two addresses there so say you have gas fee on account address a you don't have gas fee on address B but then I we've not seen how to separate either of these address since they they are both combined by the same pass phrase so so I'm just curious there's private key for each address okay so this is this is account if I go to security uh yes this normal you can see export private key fantastic for this account you can export private key for account one it has it own private priv so that that is it that is how you separate the different addresses so um the next thing the final thing is um interact with the smart contract I'm trying to find smart contct but is no [Music] longer I don't know which address I used I just put little Stitch they see something to interact with okay so these are different okay so this is an invoke function let's see which so this doesn't look like a SM contract I'm trying to look for contract this is me I'm seeing something with Constructor okay let's do this okay this seems to be a smart contract with some bre right so so oh this is this looks like a wallet let's go so to interact with this if you want to read let's say get name and query so the name is an agent account so this person actually just deployed so maybe one of us from the class that has done this so these are the different format you can use to read the information then get owner this is the owner of the account different ways to cre the information so if you want to write to write you need to connect to your connect your wallet so after connecting your wallet I don't think you can write anything because this is a this is someone else let's see let's see if we can change yeah Let's see we can change now but then the signature is the problem not going to work but you see this transaction is not executed it's an agent only self so only self mean only the wallet the address of that wallet that can perform this transaction yes so um uh I'm trying to see there's another wallet another smart contact address I you e sorry guys I'm I'm just trying to get a contact I can use let me just quickly check my addresses I sent C2 address the chat is cont seia yeah okay so we all know how to read name is toen s 20 Supply whatever it is the zeros are too much yeah decimal 18 okay so let's write to this contract there's no there's no mean so there's no me then then there's nothing you can't do much want to approve this contract just 10 just in case we have the to approve this contract let me approve another address I think something is wrong with this with this address seriously what's okay I think it's this um hope I remember this password oh I think it's this one okay sorry for the whole um ah no it's not this one okay finally all right so this was the sample contract I used for a class like some weeks ago all right so let's try to write to this contract so we're trying to me I want to me to this address wow oh different network like different network connected this is and this is what oh this is Main okay copy this and try again let me copy this and here something is wrong something seriously you enter address what you ENT you areu thank you thank you so much one okay I don't know what is going onday I've sent another okay okay so I want to want up oh okay cool so this is how to write smart contract this is how you interact it it's just similar to your ether stand but for stet you use either St or Voyager St or Voyager online now you can see everything about the contract so if you trying to you are trying to get your Abbi if you're trying to do some frontend integration you just click on class code SL hisory to show you the API and you can copy this Ai and then add it to your Json file and start interacting with normal way you do with or me or V and here you can see the bite code what was sent down to the evm and the different function letters of all the functions event and everything listed here so that is basically it the fundamentals of St there any question any confusion yes yes so for the front end bit are we um tet has his own library right you're not using e yeah okay so next question okay so on agent I just noticed that it's a different uh way of creating a test account like when I want to create the SE account for agents how to like create a separate address entirely but for Bravos I just I can just use the same address what I just need to do is just change the network but when I change network to agent I have to like create a new seol address so is that how it you know why they do it like I really don't know why they do it that way but have to deploy the contract onia again but the thing I know is that as long as you have that particular wallet both whatever um tet or whatever you want to use you can see access that exact same wallet address all you just have to do is send token in that Network either it's or thank that Network and see on who is that can you hold on you see it appear on your agent wallet so when I was trying to import wow what's going on I was trying to import a main net account which I had the seia account iuse account for thinking it was realiz it wasn't M so what I did was to send main to his account I sent to the account H I cleared my local storage you remember how I showed you guys to clear local storage I cleared my local storage all the accounts were imported both in all the account had imported yeah so that is what I did but for bra import you you import it in you see import on M you see so just the different functionalities of the wallet you work with anyone that it's more comfortable for you okay that makes just allow Shon to talk can you ask a question can you ask your question it seems is not actually active on this okay who is next anyone else yeah yes yes um though uh my question is not particularly concerning the class but uh I I learned that um there's going to be another on stet so I don't know um just by holding stack tokens so I don't know how true is that or how to go about it that's my question yeah so I had so but I'm not sure yet but I heard that be other and I know that I saw an announcement before that they preparing for another so like what made us we the last time because we open contributions to St next project like I was explaining yesterday there was a particular project I contributed to that was listed on electric capital I didn't know about so I got some tokens through that project for the without knowing that the project actually um made me get tokens until I used my account to check and then I was able to see that my account cified for Darkness air drop through open source contribution to that project then other other um this people that got some got because of their hosting of events hosting of event organizing what the so there's always a form there was to F that sent out to everybody to F So based on whatever you doing eem you the form you your wallet address you sentes of what you've done so the CCL of the event links to the pictures the reports and all that and he brought the darkness air drop when it came then others got the air drop because contributed to a project on electric cap that is not even in St ecosystem at all po do eum on optimism there some got the air drop for staking so if you st some amount of thing uh as long as it is not um your state was before I think November 2023 yeah we got qualify for so as long as you doing one of any of these things I mention you for the aop but if there's truly a St aop like the last one they always send out a form for you to feel uh with your wallet address and some things or they'll always let you know the the process involv so the the second one they did was for people that do all the things that go to different projects and you know do create liquidity contribute liquidity do some yeah some other those action so the second a was for those people and so I know as long as doing one of these things you would qualify for but the most important one is if you are really as you contributing to open source open source kind of air drop is always unexpected all right um thank you I hope you're okay yeah you're welcome so yes I that me contri yes you have to contribute for yes you have to start contributing to project that is only yes only is actually the best because you know that I you canity Javas only contri and you can also contribute to projects with CYO so that will prompt you will push you to learn Cyro fast this at that point you learning CYO not just because you got a scholarship to learn Kyo from St but you are learning CYO because you have something to do immediately and you need to do it so you will learn it faster than normal so yes don't don't don't feel like because you don't know it now you cannot contribute you can learn it on the go while contri and and also you can also contribute to solidity projects or DC project projects in the programming language that most comfortable okay so Michael so thank you I was thinking about the contribution building on stet does this also count like if I build a project uh on stack uh uh Network and I probably deploy it does I also count that I've done something on stack yes it actually count you done something St also they will ask you to there there a g that has all the project from everybody that have deployed project on start so the always update they always post need for new people that just deployed their project on St to add that project to that so they can track like 90% of the project that been deployed on St night so when there's any need for air or some appreciation you can easily check if you have been part of the ecosystem and have been doing some things in the Eos system okay yeah I am so this this deployment does it have to be on the main or it can also be on the test up now I hav't done but I have to do one now I have one so I to deploy on but I want you to know that I've been for the past 9 to 10 months now but I don't have Oney so it doesn't that is not thank you all right welcome yes thank you thank you um so this is just an opinion you know based question so I want find out what you think the uh learning C is like from you know moving from solidity to KY the learning P the major thing is the level of your knowledge on solidity if it is very very grounded if you know the fundament very well it is the same thing the smart contract on stet the same um the difference with the programming language but the concept of a smart contract is the thing is a Constructor Constructor has parameters if you importing this is how you import this is the concept of inheritance the concept of um um what do you call it life is the concept of um what do you call it um like inheritance what that interfac interf concept of interface that is tra in in Cairo the same thing so only the good thing with solidity is that it is typed so you already used to a type programing language same with Kyo Kyo is also Ty so the difference is just the but the foundation the fundamental the application of everything is the same in the smart contract so your solidity knowledge if you can stand enough then it be very easy for to so it is not so but I learned KY within a week I was not so good but I was able to write and deploy contract with based on leveraging on my solidity knowledge so don't think it's too hard it's not so hard like that thank you thank you you you're welcome so sorry can I quickly also ask question okay I'm coming So currently contact on are not yet verifi there is no there they've not yet um um how do I put it not like figed out not not added that me yet how do I get Conta fight and the support they have for verified contracts are contracts that have used a very high compiler type so for now verification of contract is not um something here more so you can you can sech the AI without verifying the contract that is Major most of contract be able to see the AI and to be able to see the logic the implementation of the contract but currently it's just the deployment there's no verification yet but they are already working on adding verifications now to Smart contract maybe the next two weeks to one month that picture will be will be work so um yeah thank you you were talking about the fact that you leared KY in a week so I wanted to ask do I need rust knowledge before I can learn Cairo I can just pick CYO on my own on on its own and just run with it yes you can on so most of us didn't Le R I didn't learn R so I just started learning CYO and the learning C for Cairo helped me to understand R so it doesn't matter whether you know r or don't know R if you know Ros that means you already know CYO just writing but if you don't know just leyo once you Lear Kyo almost as the same as say you Lear to us yeah so that is it any other question all right thank you guys so much I hope you guys learned a lot from this session and I just hope whatever I've said you got at least 50% of the other facilitators would Sy so please um an assessment link will be sent later to just assess your learning try to it talk I haven't done it yet because I was very very late class so Yesa yes uh a quick one before you leave please can you share your uh social media handle so we can okay so my tter is at yes sorry sorry ma um I don't know if you can get the slide you used for this class yes I'm going to share you are you people in a Channel or an organized channel for your okay so the admin the called the slid and the assessment links to your emails yes the video will be uploaded on YouTube I don't know that will be by Sam ad all right guys have a nice one enjoy the rest of your evening
Automatic transcript — names and jargon may be misspelled.