{"id":"-pYe2ax6s0c","title":"L1C3 - Starter for AssemblyScript Walkthrough","description":"NEAR Certified Developer\n\nThis course is an opportunity for web developers to earn a Certificate of Completion that represents the ability to design, develop, test and deploy smart contracts on the NEAR platform.\n\nSlides: http://bit.ly/near-ncd\n\nOverview\n\nDuring this course we practice the following:\n\nperceiving web 3 in the context of human history\nreading contract code in Rust and AssemblyScript\nwriting contracts using Rust and AssemblyScript\ntesting contracts using unit and simulation tests\ndeploying contracts and a sensible user interface\n\n---\n\nFollow the latest from NEAR Protocol on:\nWebsite: https://near.org/\nDiscord: https://near.chat/\nBlog: https://near.org/blog/\nTwitter:   / nearprotocol  \nGitHub: https://github.com/near  https://github.com/nearprotocol\n#Blockchain #FutureIsNEAR #NEAR #nearprotocol","channel_name":"NEAR Protocol","published_at":"2021-07-14T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/-pYe2ax6s0c/hqdefault.jpg","transcript_text":"so this is the learn near github organization if you search here for the word sample you'll find the samples if you search here for the word ncd for the letters ncd you'll find the four demos from before okay and starter you'll find the starter kit that i'm about to show you right now this rust starter kit is not is not yet real it's a placeholder okay but here's for assembly script this is what we're about to walk through and so so in this starter kit what we're looking at is a very simple contract so here here it is at a very high level there's a contract with some methods not sure how big to make this right so there's a contract with some methods and there's a readme here that kind of walks through the design of this contract so you can see like this is what the methods look like some important distinctions between view and change methods a view method is one you just kind of read and a change method is something that's going to either access the execution context so it needs to be signed or you're going to change the state of the blockchain so it needs to be assigned transaction right so that's kind of the from a web developer's perspective a big difference here is that you're not sending your username and password into the network and then facebook tells you yes you've given me the right data you're actually signing a transaction local on your computer public private key cryptography you sign a transaction locally with your private key and then the network receives that signed transaction and verifies that it was your private key that signed it because it knows your public key and there's a way to do that with the public private key magic so view functions view methods don't require a signature and i'll show you what that means so here's just a couple of simple examples of these functions and this is what they look like in code so this one you call it it basically just logs something this one you call it and it returns true this one you call it and it returns a string so this is a contract so we're looking at the code of a smart contract right now sorry if that wasn't clear this one checks to see the the sender who the sender is and by the way context sender like this is your cryptographically verifiable identity in rust this looks like env uh signer account uh id and it's a method that you call that's that's in in rust what it looks like in a rust contract so instead of the word context you're using env which is the standard wasm uh hook into the wasm execution environment and rust uh and then signer account id is the the method name okay so there'll be differences like that that you'll notice and then and so here again we're writing to storage in this case and now here we're wrapping storage with this abstraction called persistent dq which we can command click and see it's basically uh you know this this wrapper around storage so we're using the storage api but we have these these convenience methods here like um you know does it contain the index uh you know aliases for operators like this so so that's what that's what these these collections are that i mentioned earlier so this is a smart contract here's what it looks like and then what this uh system what this this repository has you do is for windows users you might run into some issues with some of these commands by the way it has you go in basically and build this and then deploy it using this near dev deploy where you point at the contract so like i think this path here unless you're using a specific kind of terminal on windows this path will need to be something like c backslash you know my documents like that kind of stuff on windows for example so just be aware you might run into some stuff here but there will be other people that can help you with that in the discord if not i'm happy to spin up a windows virtual machine and uh and try and replicate your error and help you with it if you're using a mac all this or linux all this will just work out of the box and so here's the the contract init and then a run that goes through and runs these methods and here sometimes there's explanations of how these work with some links into the documentation for you so you can take a look at this repository so enough talk let's actually see how this works so uh the the way i've i've done this let me just let me just start here and i will come here and say clone so code i'm going to grab this git clone i'm going to grab this starter and this is like the you know starter for for a s i'll just call it that doesn't matter right and you can call it whatever you want i happen to already have the thing there so i'm i'm gonna just go into here okay so that's my um folder these are the files that i've got can everybody see this okay it's big enough okay and so now uh just you know yarn i'm gonna install my dependencies and then yarn test unit or if i want to i could just say yarn run and it'll tell me yarn will tell me what i can run and so here test or test unit if i want to run that and you'll see unit tests because it's assembly script these unit tests are running using aspect it's an r spec type library our spec syntax the ergonomics of our spec basically same syntax and so you can see it it all runs okay that that's fine and then i can go into scripts and i can go to init if i want to and run that and so here it'll say hey you're missing contract and you're missing owner environment variables right and and that's that's fine for the first time i run this i'm not stressed i'm going to export those variables next and so this will run it's building you know this kind of throws an error here because it doesn't have everything it needs it's going to redeploy the contract using uh near dev deploy which automatically creates a developer account with a time stamp this is you know some some time stamp generated thing and so here i'm going to export contract equals export contract equals this account and i'll do the same over here export contract equals this and what is this window over here this is actually near account utils which are included if you go into this readme here uh in the scripts so maybe i can show you this um in this interface or look a little bit cleaner this is how you set up your terminal under scripts you know windows a and b and in terminal a you're going to have these things you're going to export the contract like this you're going to run these commands right in terminal b you're going to do this same sort of thing and here's the repository for this account utils that i'm about to run and here's some some support for operating systems okay so this is the readme inside of the scripts folder and in fact every every one of these folders should have something like a read me to kind of guide you in what's going on whenever there's something going on you'll see a readme there right so for tests for example there's a readme here that shows you what the expected output is okay so hopefully that that helps you orient yourself and so back over here i've just exported this contract i've just exported this contract so now i'm going to run um this storage in a using a watch command that's going to repeat and i'm just watching the contract storage right now i'm actually i'm continually hitting the blockchain to see what's the storage of this account whose you know id i just put in here and now i'm going to run the contract so um yeah that's fine so i'm calling show you know i don't know what and then i run into this error that says can't sign transactions no matching key found so if you get errors like this can't sign transactions on account there's like an extra space in there it's because we can take a look at this because this is expecting an owner variable to be set to sign this account i need some valid account on testnet and so how might you do that you're going to go to wallet.testnet.ner.org and you can click that's that's this and you can create an account you're going to make an account it's going to be something.testnet and you're going to get 200 near in the testnet it's not it's not real money it's funny money and so here export owner just my my user account i'll use you know sharif.testnet and then i'll run the script again now keep your eye on the right-hand side as we go to right now it's checking who am i it knows my name now it's going to save my name you'll see my name up here on the right hand side there it is blast sender with sharif.testnet and then it writes a message um yeah it doesn't it doesn't look very pretty yeah this wrappings a little bit off sorry about that um so okay so so you can see i'm the last sender and there's some messages in there that were written and then written out let me let me try running that again you'll see what that looks like and so this setup lets you watch the blockchain and watch as you're reading and writing to the contract to see how your state is changing that's all right that's all that's going on here and so i've just written this message and now i'm going to read it by popping it out okay and so if we look to see what is this run script doing it's basically saying hey call a view on show you know call that function then call this function then call this function that's what these first three outputs are so false true hello and each one of these is logging something logging something logging something you can see that the log here i can highlight that for you there's logs all over this page then the next one is calling say my name and i need to use a change method in this case because i'm accessing the environment so here under say my name how do i know that this is sharif.testnet is the one that's calling because in this contract here under say my name i have to access the environment from inside the contract i have to reach out and grab some pieces of information from the environment and so in that case you have to use this signed message it can't just be like an anonymous method so hopefully we're at a little bit over an hour hopefully this has been uncomfortably fast and some of you are thinking oh i'm going to watch the recording perfect that's exactly where you need to be right now and in the end what you're going to do is you're going to look at this list of activities to do on day one and you're going to follow these instructions core activities all i showed you was this bonus activity right here i'll remind you again if you've been building on ethereum for a couple of years about an hour a day is enough you'll see it immediately what's going on and what the differences are no problem you'll focus most of your attention on like tooling and where's truffle and things like that so some of this tooling we don't actually have right and so it'll be pretty quick actually you'll get it if you're new to blockchain development brace yourself for two hours a day of serious work even with several years of web development experience not sort of fake work and if you're a web developer with just a year of experience or two years experience decide now that you're gonna put four to six hours a day of serious work the kind of work that's gonna give you a headache maybe you're gonna feel a little bit sick when you're done that's how intense this is gonna be so just to kind of get i don't want anybody to be surprised at the end of the week okay this is it's it's going to be intense and we're here for you it's literally our job to make sure that you get through this","transcript_synced_at":"2026-11-04T04:14:53.047Z","segments":[{"start_seconds":8,"text":"so this is the learn near github organization if you search here for the word sample","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=8s"},{"start_seconds":17,"text":"you'll find the samples if you search here for the word ncd for the letters ncd you'll find the four demos from before","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=17s"},{"start_seconds":23,"text":"okay and starter you'll find the starter kit that i'm about to show you right now this rust starter kit is not is not yet","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=23s"},{"start_seconds":32,"text":"real it's a placeholder okay but here's for assembly script this is what we're about to walk through and so","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=32s"},{"start_seconds":39,"text":"so in this starter kit what we're looking at is a very simple contract so here here it is at a very high level","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=39s"},{"start_seconds":46,"text":"there's a contract with some methods not sure how big to make this right so","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=46s"},{"start_seconds":55,"text":"there's a contract with some methods and there's a readme here that kind of walks through the design of this contract","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=55s"},{"start_seconds":64,"text":"so you can see like this is what the methods look like some important distinctions between view and change methods a view method is one","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=64s"},{"start_seconds":71,"text":"you just kind of read and a change method is something that's going to either access the execution context so it needs to be signed or you're going to change the","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=71s"},{"start_seconds":80,"text":"state of the blockchain so it needs to be assigned transaction right so that's kind of the from a web developer's perspective a big difference here is that you're not sending your","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=80s"},{"start_seconds":88,"text":"username and password into the network and then facebook tells you yes you've given me the right data you're actually signing a transaction local on your","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=88s"},{"start_seconds":96,"text":"computer public private key cryptography you sign a transaction locally with your private key and then the network receives that signed transaction","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=96s"},{"start_seconds":104,"text":"and verifies that it was your private key that signed it because it knows your public key and there's a way to do that with the public private key magic","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=104s"},{"start_seconds":114,"text":"so view functions view methods don't require a signature and i'll show you what that means so here's just a couple of simple examples of these","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=114s"},{"start_seconds":122,"text":"functions and this is what they look like in code so this one you call it it basically just logs something","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=122s"},{"start_seconds":129,"text":"this one you call it and it returns true this one you call it and it returns a string so this is a contract so we're looking at the code of a smart contract right","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=129s"},{"start_seconds":138,"text":"now sorry if that wasn't clear this one checks to see the the sender who the sender is","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=138s"},{"start_seconds":146,"text":"and by the way context sender like this is your cryptographically verifiable identity","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=146s"},{"start_seconds":154,"text":"in rust this looks like env uh signer account uh id","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=154s"},{"start_seconds":161,"text":"and it's a method that you call that's that's in in rust what it looks like in a rust contract so instead of the word context","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=161s"},{"start_seconds":169,"text":"you're using env which is the standard wasm uh hook into the wasm execution","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=169s"},{"start_seconds":176,"text":"environment and rust uh and then signer account id is the the method name okay so there'll be differences like that that you'll notice","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=176s"},{"start_seconds":184,"text":"and then and so here again we're writing to storage in this case and now here we're wrapping storage with this abstraction called","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=184s"},{"start_seconds":193,"text":"persistent dq which we can command click and see it's basically uh you know this this wrapper","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=193s"},{"start_seconds":200,"text":"around storage so we're using the storage api but we have these these convenience methods","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=200s"},{"start_seconds":209,"text":"here like um you know does it contain the index uh you know aliases for operators like this","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=209s"},{"start_seconds":217,"text":"so so that's what that's what these these collections are that i mentioned earlier so this is a smart contract here's what","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=217s"},{"start_seconds":225,"text":"it looks like and then what this uh system what this this repository has you do is for windows users you might run into","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=225s"},{"start_seconds":232,"text":"some issues with some of these commands by the way it has you go in basically and build this and then deploy it using this near dev deploy where you point at the","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=232s"},{"start_seconds":241,"text":"contract so like i think this path here unless you're using a specific kind of terminal on windows this path will need to be something like c backslash","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=241s"},{"start_seconds":249,"text":"you know my documents like that kind of stuff on windows for example so just be aware you might run into some stuff here but there will be other people that can help you with that in the discord if not i'm","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=249s"},{"start_seconds":258,"text":"happy to spin up a windows virtual machine and uh and try and replicate your error and help you with it if you're using a mac all this or linux all this will just","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=258s"},{"start_seconds":266,"text":"work out of the box and so here's the the contract init and then a run that goes through and runs these methods and here sometimes there's explanations","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=266s"},{"start_seconds":274,"text":"of how these work with some links into the documentation for you so you can take a look at this repository so enough talk let's actually see how this works so uh","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=274s"},{"start_seconds":282,"text":"the the way i've i've done this let me just let me just start here and i will","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=282s"},{"start_seconds":289,"text":"come here and say clone so code i'm going to grab this git clone","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=289s"},{"start_seconds":297,"text":"i'm going to grab this starter and this is like the you know starter for for a s i'll just call it that doesn't matter right and you can call it whatever you want i happen to","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=297s"},{"start_seconds":305,"text":"already have the thing there so i'm i'm gonna just go into here okay so that's my um","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=305s"},{"start_seconds":313,"text":"folder these are the files that i've got can everybody see this okay it's big enough okay and so now uh just you know yarn","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=313s"},{"start_seconds":321,"text":"i'm gonna install my dependencies and then yarn test unit or if i want to i could just say yarn run","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=321s"},{"start_seconds":328,"text":"and it'll tell me yarn will tell me what i can run and so here test or test unit if i want to run that","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=328s"},{"start_seconds":336,"text":"and you'll see unit tests because it's assembly script these unit tests are running using aspect it's an r spec type library","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=336s"},{"start_seconds":345,"text":"our spec syntax the ergonomics of our spec basically same syntax and so you can see it it all runs okay that that's fine","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=345s"},{"start_seconds":353,"text":"and then i can go into scripts and i can go to init if i want to and run that and so here it'll say hey","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=353s"},{"start_seconds":362,"text":"you're missing contract and you're missing owner environment variables right and and that's that's fine for the first time i run this i'm not stressed i'm going to export","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=362s"},{"start_seconds":370,"text":"those variables next and so this will run it's building you know this kind of throws an error here because it doesn't","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=370s"},{"start_seconds":378,"text":"have everything it needs it's going to redeploy the contract using uh near dev deploy which automatically creates a developer","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=378s"},{"start_seconds":386,"text":"account with a time stamp this is you know some some time stamp generated thing and so here i'm going to export","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=386s"},{"start_seconds":393,"text":"contract equals export contract equals this account","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=393s"},{"start_seconds":403,"text":"and i'll do the same over here export contract equals this and what is this window over here this is actually","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=403s"},{"start_seconds":411,"text":"near account utils which are included if you go into","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=411s"},{"start_seconds":419,"text":"this readme here uh in the scripts so maybe i can show you this um in this interface or look a little bit","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=419s"},{"start_seconds":427,"text":"cleaner this is how you set up your terminal under scripts you know windows a and b and in terminal a you're going to have these things you're going to export the","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=427s"},{"start_seconds":435,"text":"contract like this you're going to run these commands right in terminal b you're going to do this same sort of thing and here's the repository for this account utils that","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=435s"},{"start_seconds":443,"text":"i'm about to run and here's some some support for operating systems okay so this is the readme inside of the scripts folder and in fact","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=443s"},{"start_seconds":452,"text":"every every one of these folders should have something like a read me to kind of guide you in what's going on whenever there's something going on you'll see a","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=452s"},{"start_seconds":460,"text":"readme there right so for tests for example there's a readme here that shows you what the expected output is okay so hopefully that that helps you orient yourself","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=460s"},{"start_seconds":468,"text":"and so back over here i've just exported this contract i've just exported this contract so now i'm going to run um this","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=468s"},{"start_seconds":476,"text":"storage in a using a watch command that's going to repeat and i'm just watching the contract storage right now i'm actually i'm continually hitting the","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=476s"},{"start_seconds":485,"text":"blockchain to see what's the storage of this account whose you know id i just put in here","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=485s"},{"start_seconds":492,"text":"and now i'm going to run","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=492s"},{"start_seconds":500,"text":"the contract so um yeah that's fine so i'm calling show you","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=500s"},{"start_seconds":507,"text":"know i don't know what and then i run into this error that says can't sign transactions no matching key found so if","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=507s"},{"start_seconds":515,"text":"you get errors like this can't sign transactions on account there's like an extra space in there it's because we can take a look at this","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=515s"},{"start_seconds":523,"text":"because this is expecting an owner variable to be set to sign this account","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=523s"},{"start_seconds":530,"text":"i need some valid account on testnet and so how might you do that you're going to go to","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=530s"},{"start_seconds":539,"text":"wallet.testnet.ner.org and you can click","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=539s"},{"start_seconds":547,"text":"that's that's this and you can create an account you're going to make an account it's going to","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=547s"},{"start_seconds":554,"text":"be something.testnet and you're going to get 200 near in the testnet it's not it's not real money it's funny money","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=554s"},{"start_seconds":561,"text":"and so here export owner just my my user account i'll use you know sharif.testnet and then i'll run the script again now keep your eye","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=561s"},{"start_seconds":569,"text":"on the right-hand side as we go to right now it's checking who am i it knows my name now it's going to save my name you'll see my name up here on the right","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=569s"},{"start_seconds":578,"text":"hand side there it is blast sender with sharif.testnet","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=578s"},{"start_seconds":584,"text":"and then it writes a message","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=584s"},{"start_seconds":593,"text":"um yeah it doesn't it doesn't look very","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=593s"},{"start_seconds":602,"text":"pretty yeah this wrappings a little bit off sorry about that um so okay so so you can see i'm the last","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=602s"},{"start_seconds":611,"text":"sender and there's some messages in there that were written and then written out let me let me try running that again you'll see what that looks like and so","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=611s"},{"start_seconds":620,"text":"this setup lets you watch the blockchain and watch as you're reading and writing to the contract to see how your state is changing","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=620s"},{"start_seconds":627,"text":"that's all right that's all that's going on here and so i've just written this message","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=627s"},{"start_seconds":635,"text":"and now i'm going to read it by popping it out okay and so if we look to see what is this run script doing","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=635s"},{"start_seconds":643,"text":"it's basically saying hey call a view on show you know call that function then call this function then call this function","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=643s"},{"start_seconds":651,"text":"that's what these first three outputs are so false true hello and each one of these is logging something logging something logging something you","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=651s"},{"start_seconds":660,"text":"can see that the log here i can highlight that for you there's logs all over this page","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=660s"},{"start_seconds":668,"text":"then the next one is calling say my name and i need to use a change method in this case because i'm accessing the environment","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=668s"},{"start_seconds":676,"text":"so here under say my name how do i know that this is sharif.testnet is the one that's calling","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=676s"},{"start_seconds":682,"text":"because in this contract here under say my name","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=682s"},{"start_seconds":690,"text":"i have to access the environment from inside the contract i have to reach out and grab some pieces of information from the environment and so in that case","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=690s"},{"start_seconds":698,"text":"you have to use this signed message it can't just be like an anonymous method so hopefully we're at a little bit over","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=698s"},{"start_seconds":706,"text":"an hour hopefully this has been uncomfortably fast and some of you are thinking oh i'm going to watch the recording perfect that's exactly where you need to","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=706s"},{"start_seconds":714,"text":"be right now and in the end what you're going to do is you're going to look at","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=714s"},{"start_seconds":720,"text":"this list of activities to do on day one and you're going to follow these","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=720s"},{"start_seconds":727,"text":"instructions core activities all i showed you was this bonus activity right here","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=727s"},{"start_seconds":734,"text":"i'll remind you again if you've been building on ethereum for a couple of years about an hour a day is enough you'll see it immediately what's going","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=734s"},{"start_seconds":742,"text":"on and what the differences are no problem you'll focus most of your attention on like tooling and where's truffle and things like that so some of this tooling we don't actually","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=742s"},{"start_seconds":750,"text":"have right and so it'll be pretty quick actually you'll get it if you're new to blockchain development brace yourself","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=750s"},{"start_seconds":756,"text":"for two hours a day of serious work even with several years of web development experience","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=756s"},{"start_seconds":765,"text":"not sort of fake work and if you're a web developer with just a year of experience","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=765s"},{"start_seconds":772,"text":"or two years experience decide now that you're gonna put four to six hours a day of serious work the kind of work that's gonna give you a headache maybe you're gonna feel a","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=772s"},{"start_seconds":779,"text":"little bit sick when you're done that's how intense this is gonna be so just to kind of get i don't want anybody to be surprised at the end of the week","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=779s"},{"start_seconds":787,"text":"okay this is it's it's going to be intense and we're here for you it's literally our job to make sure that you","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=787s"},{"start_seconds":793,"text":"get through this","url":"https://www.youtube.com/watch?v=-pYe2ax6s0c&t=793s"}],"youtube_url":"https://youtube.com/watch?v=-pYe2ax6s0c","url":"https://near-pedia.xyz/videos/-pYe2ax6s0c"}