{"id":"ayuYH_umTrI","title":"[Protocol technical on-boarding series] GCP and multi node localnet (February 17th, 2023)","description":"Join NEAR's community:\nWebsite: https://near.org/\nReddit:   / nearprotocol  \nDiscord: https://near.chat/\nMedium:   / nearprotocol  \nBlog: https://near.org/blog/\nTwitter:   / nearprotocol  \nGitHub: https://github.com/near  https://github.com/nearprotocol\nDev Docs: https://docs.near.org/\nCreate a wallet: https://wallet.near.org/create\nApps on NEAR: https://awesomenear.com/\nLearn to Build On NEAR: https://www.near.university/\nGrants & Funding: https://near.org/grants/\n#Blockchain #FutureisNEAR #NEAR #nearprotocol\n#nft #dao","channel_name":"NEAR Protocol","published_at":"2024-03-04T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/ayuYH_umTrI/hqdefault.jpg","transcript_text":"main net runs nodes which connect to main net these are RPC nodes RPC nodes Canary nodes no validators so far the near core is the one we use for testnet which also includes one validator and a bunch of developer run nodes and the one I suggest we use today is mcknet because mcknet is another completely isolated Network that we use for testing releases what we do is somebody creates I don't know 10 to 100 nodes start them up they all start talking to each other generate some load and see if this network behaves well if it can perform the binary upgrade and if yes then probably the release is good enough if no definitely something is wrong so we go to mcknet I I think everybody has access to be editors of this project but if not please let me know okay so I created a few notes for myself already and have the network running I will explain how I made managed to do it in almost no time so step one go to this page create yourself an instance I suggest we call it learn net and your username the region you like um machine type for production noes we use N2 standard uh N2 standard 8 I believe if we're not running a big Network should be fine with cheaper machines yes this is this doesn't fulfill the hardware requirements but that is okay it's just for testing it's just for learning that should be fine and I'm uneasy about this 10 gigabytes by default so I usually change it to 100 and in a second I will have an instance and I expect everyone to follow alone and create their own instance of leet in this project questions anytime yes you sorry could you go back to the page where which which instance I need to create like the machine configuration I I think that was a little too fast for me okay machine type I suggest E2 standard 4 but for production we would go for n to stand eight but it doesn't matter in our little case so N2 thanks do we do we need to change anything else or do we just create a the based on the default image increase thisp size to something higher and that's it no other changes do we just create one or multiple yes create one and we'll all join in the same blockchain SSD or HDD ask simonas let's go SSD so that would be yeah that would be SSD yes my gcp is in German and I cannot fix it I gave up yes so the show of hands who managed to create an instance my German is fine but some of the terminology is really weird like nobody calls storage with this interesting words this is i b too German anyway it Zone matters not really if you create it in a different interesting Zone it will be more more diverse our tutorial okay how do I connect to it from my browser probably so we have the instance let's connect SSH to it I well let's let's find out if you have gcloud CLI installed let me know if you don't or maybe for the recording I should mention it anyway um but how do I even install it yeah so this would be the one the page that explains how exactly to download and install it yes thank you simonas thank you Andre Pro install perfect but this instance is freshly created doesn't have any software we need some which is we get we need we get to get the near D binary and then we put the first action we do is we um we download the near D binary that be get and please let me know if I'm too fast too slow to to something because I see no videos I see no reactions and that is uncomfortable oh what's the command for installing the W get again ah that was the simple Soo opt install pet yep what this is the one problem I haven't thought about how do I share the Genesis file can I attach it to the invite nope uh niai uh for the educational purposes or the for the recording purposes like could you be able to explain like what each step means and what we are trying to achieve okay one second so what we're trying to achieve I the goal is to run an independent isolated Network on multiple machines where each of us has a node and that node is a validator we do this on gcp because we use gcp for running production nodes which is those RPC nodes accessible by the community including the archival nodes that's also where everybody where we run the canary nodes and where we do the all possible testing like yeah canar is one form of testing but also if somebody is working on a feature it is convenient to create an instance on gcp because it has backups which can be easily installed in a matter of not seconds but maybe minutes and then you have a node where you can deploy your experimental code run it and see how it behaves that's what we're trying to achieve what we've done now is everybody created an instance on gcp download at the binary and now we're going to run it with the right configuration so that they all these nodes join the same network how to distribute a file complicated but it should be let's use S3 to distribute files so I posted two links in chat they those are config and Genesis but before we go there where is it so for the node the function the node needs its own node key the node needs Genesis the node needs to know the addresses of boot nodes and how to connect to them so then the easy way to create all of that is to run unit that creates a directory do near which has all these files config Genesis node key and validator but if you run the note now it will be your private isolated network of one node which is not what we want to fix that please overwrite those files the links I posted obviously and then I will show you how to make it into an actual validator node I'm looking for a way to distribute files yes yes we override both files but the file are not readable let me see what I can do about it in a second uh z z ZX z. St is a um simple uploading uh tool that you can use that produces file that are readable by default I past the link to it on in the chat um where do I click any paste bin inde we can do past bin I'm not even able to click into the config.js OR genesis. Json link it says access denied like even when I just click it yes in so to fix that and copying stuff to p g none of that is sensitive or private that should be fine and two yes okay what the first file config Json or gen Json first this config I think it's Big O but let's see if this node runs it has the correct hash of the Genesis block A1 something looks correct and yes this is the typical experience of a typical validator they run the binary they get this lots of messages and we tell them this is fine but yes it is indeed fine but the user experience can be improved kind of quick random question how do you know if it is fine by looking at it like is there any anything specific we have to monitor well all of these can be safely ignored by most people and what I'm looking for is the info stats messages printed every 10 seconds and it tells me that the node is successfully download in blocks so it started it found the peers yes it has like two three peers then the node ask those peers what is your head height they tell us like a th000 2,000 something like that step number one let's download headers step number two let's download and replay all those blocks and that's what is actually happening so downloading downloaded 500 blocks downloaded 900 blocks and those blocks are mostly empty so that is going far downloaded 3,000 blocks as long as it's actually sinking and that the height actually increases everything is fine can it be more detailed than this I don't know if you see a node stuck at the same height for longer than 10 seconds something is definitely wrong yes but if it the height keeps increasing then I would say it's okay if the node crashes and restarts constantly yes there is a problem and there can happen in many interesting ways okay sorry one more question which which one is height I mean like where does it indicate height yes 5,227 in my case is K okay yeah that's a good question let's go at the status line um so the format is current height some status message which is usually different this is only for the sync scenario then number of Piers Network Traffic download upload blocks per second C per second yes those blocks are full empty therefore zero g per second GPU usage memory usage what we see is often validators report issues where they give us the logs which is a collection of these info stats lines and they say something is broken please investigate and they consider it not enough information to investigate anything reasonably because it only says gives information about the high 10 CPU which is insufficient for any meaningful diagnostic but we do see that and more proper way to enable theb loog would be to restart the no with the verbos FL set to empty and you can see a bunch of debu locks what's the proper way to stop the node do we just is there any official way to stop the node or contrl C is good enough because it sends a Sig in and we process sigint gracefully okay so it shuts down the the pools of workers it shuts down the client shuts down the Rog TB safely and then it shuts down completely so that should be hand out well if you even if you force skill this somehow Light low n near V I don't have obviously even that would be handled reasonably well because RTP guarantees that it leaves the files in consistent State and no inconsistencies can possibly happen there is a lot of fine print around it now can you show again the the command to run with debug log on okay veros empty and this a user can change at run time we'll get to it later if we have time and interest but okay we have interest okay we'll get to it later now we have a node which connects to our learn net Network let's see which changes I had to do to to make this happen file what did they change I didn't enable theb PC but I wanted to I set the boot Noe to one of my instances that I know per trans and the boot node plug yes the coloring is fantastic so it has the node key at IP address port for connections to peers that that's enough and there there can be a comma separated list of nodes which are considered boot nodes and those will be when you have no roxb database the node will first Contact those nodes in the boot nodes parameter however if it has some peers in its Ro DB then you can then this value is completely ignored it will try to pick peers it knows about and it doesn't care which of the nodes is considered the boot node M reconnect delay it was removed in 131 doesn't matter here one network is the change introduced in 131 and what we're running now is 130 does it matter for our exercise no Greg is the person who knows some all about about about it because he implemented it but it basically means a network of connections between validators with with some guarantees for message delivery which is important and improves our Network latency by a lot mean number of peers for consensus I reduced it from three to zero if you set it to three it means you need to have at least four validators to produce a block if I understand correctly maybe not anyway with this config a single validator is enough to produce blocks if simonas you have a better idea or somebody please correct me TR charts set to an array of zero which is interpreted to stack all charts because other otherwise the nodes won't be of much won't be much useful if for example they Chun only producers I need to introduce Chun only producers let complic so the way we want validators to run we want them to track all sharts of the network so that they know and process all changes all transactions to the whole network that way if they are reassigned from producing Chunk from one chart to another chart between ooks they already have the state they don't have to download it from the peers because that process is not working perfectly well and we would rather avoid it so we require all validators on Main net and test net to track all sharts today save three changes is deprecated archive through because in this network EPO lengths I set to very low specifically 100 which means that if I am more than five EPO in the future nobody will be able to sync from Genesis and so I set it to True which makes my note archival which makes every block available and every possible note can sync from me which is what I want right is some changes from Alex Alexander migration threats I don't know I don't know then let's look at Genesis I don't know how to replace the beautiful pink color with something more readable so that that's my custom name protocol version 57 which is the protocol version of 130 binary n block producer seeds per shart needs contain as many values as there are sharts that's one and two it means that we can have at most in validators in our Network in main net I think this number is 100 epic length reduced by a lot to 100 in production in main net and test net this value is 43,000 which corresponds to roughly 12 hours of block blocks in reality it's more like 13 to 16 16 hours of blocks reduced which makes us have slightly fewer than two EPO per 24 hours but two epex per 24 hours was the intended amount then kick out threshold reduced to 80 I don't remember what's the main n version value but I think it was reduced to 80 recently maybe blocks are 90 chunks are 80 I forgot and this defines how many of expected blocks in chunks your validator needs to needs to produce to avoid being kicked if your validator is kicked it means you will receive no rewards and you will not be a validator during the next next Epoch yes which means missing more rewards which sometimes makes users delegators choose a different St in pool to delegate their tokens to and so validators care a lot about this kickout thresholds because nobody likes to be kicked out thenis contains a list of validators in my case it's a single account called boot it cannot be empty because if your blockchain has no validators it's stuck forever and not useful so let's give at least one and the keys are created locally for shard layout this defines four charts that are split in this ask space of accounts from the very beginning to accounts starting with fffff from that to account starting as mm and then to U which doesn't corres point to main net in main net for example the whole account is account the whole chart one is dedicated to account aora which usually leads to even if we run any kind of Lo test to generate any traffic we can hardly generate traffic for that specific top level account and so that leads to poor low distribution and in my tests I prefer to just use a custom sharding layout and then the Genesis file contains all the records which is the account State at the Genesis block it contains access keys and maybe contracts but that would be too complicated to include I can just deploy my code later and so this was enough those few changes were enough to make a reasonable Network that people can join okay and now let's make you validators this loan loan loan context okay so let's look at my validator key it says account test. near and I'm pretty sure this account doesn't exist so let's just delete this yes let's just delete this and create a new account Us near CLI but oh wait it's not installed install it it run these two commands one installs nodejs and npm and the other one uses npm to install that near CLI package and a big difference from the production main net setup is that all pool staking pools and Main net are delegation pools which means it's a smart contract which has an API of I give them by tokens and that that account Stakes them that's a comp at setup which I cannot reproduce we also don't have a wallet setup that would be too much infrastructure work instead I suggest we create accounts directly okay I will give you the top level keys from the near account and you will use that to create your own account using near CLI and near CLI is a very useful tool for any kind of local development and playing with the network lets you ingest inject transactions lets you inspect states of accounts let's you do a lot of interesting things with the network okay nodejs is mostly installed mostly yep and now this command uses npm to install near CLI for all users of the machine it's usually advised against installing mpm packages globally but should be fine in this case near CLI doesn't get updates too often so how do we know it's installed the command near Works prints you a nice help message with a long list of commands it supports which is exactly what we want I guess that is working for everyone um now complicated St quick question uh where do you get uh this Json uh I don't know account ID public key secet key thing when I created the network I put the public key that corresponding public key in Genesis and I have the private key so I just I know this because I created the network uh I need the yes I need the not to be running so so I need the not to run now I can use near CLI to talk to my local net node but it says so I was I know that the way near CLI works it creates a directory called near credentials in my home directory that I know and so I did this complicated command this is what I want to do but to do this I need to know the near key okay so when I run this command it complains that oh no I don't have the key from the near account but at least it creates the directory credentials is empty now in this directory we can create the file near. Json copy that stuff over here repeat the invocation of create account that message says that we submitted the transaction to our local node but it times out which we also see in the looks that that transaction keeps timing out I wonder why so my other two notes are running fine okay created and yes I should have changed the name of my account to something reasonable like my username therefore this command State shows me the account state it tells me that I have a million tokens nothing is staked yet and that's what I want to know so for example this and the next command would be St is it stake yes what is wrong okay I'm confused whatever we doing so this is my key let's by the way copy it to be my validator key just copy in without any changes it contains the account name public key private key that's exactly what I need in my validator key I start in the node and not now it will attempt to join the network as a validator as soon as it contains the stake and because our EPO are 100 blocks which is roughly 100 seconds it will happen quite soon now the question is how do I actually stake without the delegation tool okay please work don't stti with my account stti with your account but this is the idea so to up you create an account you check that it exists with the state command you run the stake command and you run the state command again to check that locked is now greater than zero and that the remaining available liquid amount is something less than a million and soon because I did the staken my note will join the network as a validator and we'll actually okay and we can check if it's already voting for itself to be a validator yes yes so the proposals command of near CLI shows me that this account takes 999,000 tokens to get one seat as a block producer probably oh and this account already created 80 chunks out of 80 chunks expected so this works I don't see anyone else joining so yes please ask questions uh yeah so I think uh when I do the the command near and equals logo near and then create account so I had an error says fail to load master account key from valider key. Jon so I looked at the dot near and I don't see the validator key so is there a place where we added the validator key. Json no and I argue that you don't need need it all you need is this file with the contents posted above oh okay time check acknowledged let me check it oh it has to be in the near credentials loc directory not okay I see if you have this file then you can run create account using the near as the master account so that your new account will be sub account of near it will be something do near you can use any account like this but the ones you create will be sub accounts if you have wallet set up this is how like test net wallet works it will be use some interesting smart contracts to let you create accounts that are something dot near which is not possible during using near CLI you need some special access to the near top level accounts to be able to create sub accounts of that so we're using the shortcut here by doing this command line magic proposals hey I see one one new proposal nice in about a minute you will become a validator how do I check uh whether there is well yeah is that okay proposals validat validators current validators next or validators and block has of f first block of an EPO or the last block of an EPO I always forget but you cannot just give it a random block here it needs to be the first block of an EP which is not convenient at all and I can see the stake increasing by some amount which is because the rewards for the EPO are being distributed the bigger the stake the higher the rewards also the higher the up time the higher the rewards I think my my command of creating the account is like R trying request to broadcast trans TX commit as it has timed out should I should I just run it again or should I just wait just wait okay because right here I am generating some small amount of traffic by running transactions running function simple very simple function CL in a bush for Loop maybe that helps okay kickouts what every validator is afraid is being kicked it can be kicked for two reason one is not enough blocks produced another is not enough chunks produced the threshold is either 80 or 90% I always forget and they used to be different for test net and Main net so every time we do an upgrade for reasons we don't fully understand we see that validators for some time are likely to miss chunks which makes them very nervous which makes them contact us asking why everybody misses chunks and the answer is we still don't know one day we will fully investigate and understand and make it not and prevent this from happening but at the moment the sad reality is that yes validators are likely to L chunks after upgrades or restarts I wish I knew why okay and then there is another scenario where validators need to pay some attention to their Noe is when we have a new binary available like we go from 130 to 131 which contains a protocol upgrade to upgrade the binary you need to stop your node and start it with the new binary sometimes start in the node requires a database migration which means it will be it will take some number of minutes up to an hour for an RPC node to go through the whole database and fix something or change something to the new format and that is unacceptable because during that time you are almost guaranteed to Mis production of some expected chunks of blocks and what validators do they have at least one backup node which so you have a node which validates you have some other nodes which are backup nodes you will upgrade them first you will check that they work fine with any new binary then you stop validator in the backup you change the keys the validator keys and you start them again and that way the restart is much faster and you almost Miss almost no blocks some validators are very interested in contributing a mechanism to let us change the keys at run time for example you can make a backup note a validator without stopping it first that would be very useful for for the the whole ecosystem because our current documentation says just run near drun and you're a validator and we provide no instructions how to actually be a validator with 100% up time and it's Community tribal knowledge how to make it work effectively which is suboptimal I wish somebody published this documentation somebody improved the clients to make this use case supported but today it's not yet supported okay Quest chain is near nice oh no I forgot to St yes why I don't need a validator key you need a validator so when you create your account copy that account from near credentials local to be your validator key so something like something like that and restart the node and stake and then they will be validator how to check if you were kicked yeah B chain is here also has been kicked well because of the 0% online no idea why H H I also don't know how Fireballs if you created a I I just created a node with you there are no firewalls but maybe you have your own private firewall but why would you we're talking gcp to gcp interesting so this didn't work and we're out of time thank you for your attention you have the presentation from George coming up","transcript_synced_at":"2026-11-03T06:07:25.931Z","segments":[{"start_seconds":0,"text":"main net runs nodes which connect to main net these are RPC nodes RPC nodes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=0s"},{"start_seconds":6,"text":"Canary nodes no validators so far the near core is the one we use for","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=6s"},{"start_seconds":15,"text":"testnet which also includes one validator and a bunch of developer run","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=15s"},{"start_seconds":22,"text":"nodes and the one I suggest we use today is mcknet because mcknet is another completely isolated Network that we use","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=22s"},{"start_seconds":30,"text":"for testing releases what we do is somebody creates I don't know 10 to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=30s"},{"start_seconds":38,"text":"100 nodes start them up they all start talking to each other generate some load and see if this network behaves well if","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=38s"},{"start_seconds":46,"text":"it can perform the binary upgrade and if yes then probably the release is good enough if no definitely something is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=46s"},{"start_seconds":55,"text":"wrong so we go to mcknet I","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=55s"},{"start_seconds":62,"text":"I think everybody has access to be editors of this project but if not please let me","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=62s"},{"start_seconds":75,"text":"know okay so I created a few notes for myself already and have the network","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=75s"},{"start_seconds":82,"text":"running I will explain how I made managed to do it in almost no time so step","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=82s"},{"start_seconds":90,"text":"one go to this page create yourself an instance I suggest we call it learn net","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=90s"},{"start_seconds":97,"text":"and your username the region you","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=97s"},{"start_seconds":108,"text":"like um machine type for production noes we use N2","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=108s"},{"start_seconds":116,"text":"standard uh N2 standard 8 I believe if we're not running a big Network","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=116s"},{"start_seconds":123,"text":"should be fine with cheaper machines yes this is this doesn't fulfill the hardware requirements but that is okay","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=123s"},{"start_seconds":132,"text":"it's just for testing it's just for learning that should be fine and I'm uneasy about this 10 gigabytes by","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=132s"},{"start_seconds":139,"text":"default so I usually change it to 100 and in a second I will have an","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=139s"},{"start_seconds":149,"text":"instance and I expect everyone to follow alone and create their own instance of leet in this","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=149s"},{"start_seconds":156,"text":"project questions anytime yes you sorry could you go back to the page where which which instance I need to create","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=156s"},{"start_seconds":164,"text":"like the machine configuration I I think that was a little too fast for me okay machine type I suggest E2","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=164s"},{"start_seconds":172,"text":"standard 4 but for production we would go for n to stand","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=172s"},{"start_seconds":180,"text":"eight but it doesn't matter in our little case so","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=180s"},{"start_seconds":191,"text":"N2 thanks do we do we need to change","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=191s"},{"start_seconds":198,"text":"anything else or do we just create a the based on the default image increase thisp size to something","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=198s"},{"start_seconds":207,"text":"higher and that's it no other changes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=207s"},{"start_seconds":224,"text":"do we just create one or multiple yes create one and we'll all join in the same","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=224s"},{"start_seconds":238,"text":"blockchain SSD or HDD ask simonas let's go","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=238s"},{"start_seconds":250,"text":"SSD so that would","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=250s"},{"start_seconds":262,"text":"be yeah that would be SSD yes my gcp is in German and I cannot","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=262s"},{"start_seconds":270,"text":"fix it I gave","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=270s"},{"start_seconds":290,"text":"up yes so the show of hands who managed to create an","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=290s"},{"start_seconds":298,"text":"instance my German is fine but some of the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=298s"},{"start_seconds":308,"text":"terminology is really weird like nobody calls storage with this interesting","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=308s"},{"start_seconds":316,"text":"words this is i b too German","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=316s"},{"start_seconds":328,"text":"anyway it Zone matters not","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=328s"},{"start_seconds":339,"text":"really if you create it in a different interesting Zone it will be","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=339s"},{"start_seconds":344,"text":"more more diverse our tutorial","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=344s"},{"start_seconds":352,"text":"okay how do I connect to it from my browser probably","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=352s"},{"start_seconds":416,"text":"so we have the instance let's connect SSH to it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=416s"},{"start_seconds":426,"text":"I well let's let's find out if you have gcloud CLI installed let me know if you don't or","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=426s"},{"start_seconds":435,"text":"maybe for the recording I should mention it anyway","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=435s"},{"start_seconds":443,"text":"um but how do I even install it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=443s"},{"start_seconds":460,"text":"yeah so this would be the one the page that explains how exactly","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=460s"},{"start_seconds":467,"text":"to download and install it yes thank you simonas thank you Andre Pro install","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=467s"},{"start_seconds":474,"text":"perfect but this instance is freshly created doesn't have any software we need","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=474s"},{"start_seconds":482,"text":"some which is we get we need we get to get the near D binary and","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=482s"},{"start_seconds":493,"text":"then we put the first action we do is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=493s"},{"start_seconds":499,"text":"we um we download the near D","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=499s"},{"start_seconds":508,"text":"binary that be","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=508s"},{"start_seconds":538,"text":"get and please let me know if I'm too fast","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=538s"},{"start_seconds":544,"text":"too slow to to something because I see no videos I see no reactions and that is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=544s"},{"start_seconds":564,"text":"uncomfortable oh what's the command for installing the W get again","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=564s"},{"start_seconds":571,"text":"ah that was the simple Soo opt install","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=571s"},{"start_seconds":578,"text":"pet","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=578s"},{"start_seconds":598,"text":"yep","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=598s"},{"start_seconds":628,"text":"what this is the one problem I haven't","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=628s"},{"start_seconds":636,"text":"thought about how do I share the Genesis file can I attach it to the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=636s"},{"start_seconds":651,"text":"invite nope","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=651s"},{"start_seconds":675,"text":"uh niai uh for the educational purposes or the for the recording purposes like could you be able to explain like what each step means and what we are trying","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=675s"},{"start_seconds":684,"text":"to achieve okay one","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=684s"},{"start_seconds":697,"text":"second so what we're trying to achieve I the goal is to run an independent","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=697s"},{"start_seconds":706,"text":"isolated Network on multiple machines where each of us has a node and that node is a","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=706s"},{"start_seconds":715,"text":"validator we do this on gcp because we use gcp for running production nodes which is those RPC nodes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=715s"},{"start_seconds":724,"text":"accessible by the community including the archival nodes that's also where everybody where we run the canary","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=724s"},{"start_seconds":731,"text":"nodes and where we do the all possible testing","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=731s"},{"start_seconds":740,"text":"like yeah canar is one form of testing but also if somebody is working on a feature it is convenient to create an","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=740s"},{"start_seconds":749,"text":"instance on gcp because it has backups which can be easily installed in a matter of not seconds but maybe minutes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=749s"},{"start_seconds":757,"text":"and then you have a node where you can deploy your experimental code run it and see how it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=757s"},{"start_seconds":769,"text":"behaves that's what we're trying to achieve what we've done now is everybody created an instance on","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=769s"},{"start_seconds":777,"text":"gcp download at the binary and now we're going to run it with the right configuration so that they all these","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=777s"},{"start_seconds":786,"text":"nodes join the same network how to distribute a","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=786s"},{"start_seconds":794,"text":"file complicated but it should be let's use S3 to distribute files so I","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=794s"},{"start_seconds":801,"text":"posted two links in chat they those are config and Genesis but before we go there","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=801s"},{"start_seconds":811,"text":"where is it so for the node the function the node","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=811s"},{"start_seconds":820,"text":"needs its own node key the node needs Genesis the node needs to know the addresses of boot nodes and how to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=820s"},{"start_seconds":827,"text":"connect to them so then the easy way to create all of that is to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=827s"},{"start_seconds":835,"text":"run unit that creates a directory do near which has all these","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=835s"},{"start_seconds":844,"text":"files config Genesis node key and validator but if you run the note now it will be your private isolated network of","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=844s"},{"start_seconds":852,"text":"one node which is not what we want to fix that please overwrite those","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=852s"},{"start_seconds":861,"text":"files the links I posted","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=861s"},{"start_seconds":874,"text":"obviously and then I will show you how to make it into an actual validator","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=874s"},{"start_seconds":897,"text":"node I'm looking for a way to distribute files","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=897s"},{"start_seconds":925,"text":"yes yes we override both files but the file are not readable let me see what I can do about","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=925s"},{"start_seconds":932,"text":"it in a","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=932s"},{"start_seconds":941,"text":"second uh z z ZX z. St is a um simple uploading uh tool that you can","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=941s"},{"start_seconds":951,"text":"use that produces file that are readable by default I past the link to it on in the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=951s"},{"start_seconds":970,"text":"chat um where do I click any paste bin inde we can do past","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=970s"},{"start_seconds":987,"text":"bin","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=987s"},{"start_seconds":1002,"text":"I'm not even able to click into the config.js OR genesis. Json link it says access denied like even when I just","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1002s"},{"start_seconds":1010,"text":"click it yes in so to fix that and copying stuff","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1010s"},{"start_seconds":1020,"text":"to p g none of that is sensitive or private that should be","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1020s"},{"start_seconds":1043,"text":"fine and two","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1043s"},{"start_seconds":1056,"text":"yes okay what the first file config Json or","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1056s"},{"start_seconds":1062,"text":"gen Json first this","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1062s"},{"start_seconds":1077,"text":"config","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1077s"},{"start_seconds":1094,"text":"I think it's Big O","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1094s"},{"start_seconds":1107,"text":"but let's see if this node","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1107s"},{"start_seconds":1117,"text":"runs it has the correct hash of the Genesis block A1 something looks","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1117s"},{"start_seconds":1137,"text":"correct and yes this is the typical experience of a typical validator they run the binary they get this lots of","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1137s"},{"start_seconds":1146,"text":"messages and we tell them this is fine but yes it is indeed","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1146s"},{"start_seconds":1155,"text":"fine but the user experience can be improved kind of quick random question","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1155s"},{"start_seconds":1164,"text":"how do you know if it is fine by looking at it like is there any anything specific we have to monitor well all of","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1164s"},{"start_seconds":1172,"text":"these can be safely ignored by most people and what I'm looking for is the info stats messages printed every 10","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1172s"},{"start_seconds":1181,"text":"seconds and it tells me that the node is successfully download in","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1181s"},{"start_seconds":1188,"text":"blocks so it started it found the peers yes it has like two three","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1188s"},{"start_seconds":1195,"text":"peers then the node ask those peers what is your head height they tell us like a","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1195s"},{"start_seconds":1202,"text":"th000 2,000 something like that step number one let's download headers step number two let's download and replay all","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1202s"},{"start_seconds":1211,"text":"those blocks and that's what is actually happening so","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1211s"},{"start_seconds":1218,"text":"downloading downloaded 500 blocks downloaded 900 blocks and those blocks","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1218s"},{"start_seconds":1225,"text":"are mostly empty so that is going far downloaded 3,000","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1225s"},{"start_seconds":1232,"text":"blocks as long as it's actually sinking and that the height actually increases everything is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1232s"},{"start_seconds":1246,"text":"fine can it be more detailed than this I don't know if you see a node stuck at the same height for longer than 10","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1246s"},{"start_seconds":1254,"text":"seconds something is definitely wrong yes but if it the height keeps increasing then I would say it's okay if","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1254s"},{"start_seconds":1262,"text":"the node crashes and restarts constantly yes there is a problem and there can happen in many","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1262s"},{"start_seconds":1271,"text":"interesting ways okay sorry one more question which which","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1271s"},{"start_seconds":1279,"text":"one is height I mean like where does it indicate height","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1279s"},{"start_seconds":1287,"text":"yes 5,227 in my case is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1287s"},{"start_seconds":1294,"text":"K okay yeah that's a good question let's go at the status","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1294s"},{"start_seconds":1301,"text":"line um so the format is current height some status message which is usually different this is only for the sync","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1301s"},{"start_seconds":1310,"text":"scenario then number of Piers Network Traffic download upload blocks per second C per second yes those blocks are","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1310s"},{"start_seconds":1318,"text":"full empty therefore zero g per second GPU usage memory usage what we see is often validators","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1318s"},{"start_seconds":1327,"text":"report issues where they give us the logs which is a collection of these info stats lines and they say something is broken","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1327s"},{"start_seconds":1336,"text":"please investigate and they consider it not enough information to investigate anything reasonably because it only","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1336s"},{"start_seconds":1344,"text":"says gives information about the high 10 CPU which is insufficient for any meaningful","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1344s"},{"start_seconds":1355,"text":"diagnostic but we do see that and","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1355s"},{"start_seconds":1363,"text":"more proper way to enable theb loog would be to restart the no with the verbos FL set to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1363s"},{"start_seconds":1373,"text":"empty and you can see a bunch of debu locks what's the proper way to stop the node do we just is there","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1373s"},{"start_seconds":1381,"text":"any official way to stop the node or contrl C is good enough because it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1381s"},{"start_seconds":1389,"text":"sends a Sig in and we process sigint gracefully okay so it shuts down","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1389s"},{"start_seconds":1396,"text":"the the pools of workers it shuts down the client shuts down the Rog TB safely","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1396s"},{"start_seconds":1403,"text":"and then it shuts down completely so that should be hand out well if","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1403s"},{"start_seconds":1412,"text":"you even if you force skill this","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1412s"},{"start_seconds":1420,"text":"somehow Light low n near","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1420s"},{"start_seconds":1429,"text":"V I don't have obviously even that would be","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1429s"},{"start_seconds":1435,"text":"handled reasonably well because RTP guarantees that it leaves the files in consistent State and no inconsistencies","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1435s"},{"start_seconds":1443,"text":"can possibly happen there is a lot of fine print","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1443s"},{"start_seconds":1451,"text":"around it now can you show again the the command to run with debug log","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1451s"},{"start_seconds":1463,"text":"on okay veros empty and this a user can change at run","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1463s"},{"start_seconds":1473,"text":"time we'll get to it later if we have time and interest but okay we have interest okay we'll get to it later now","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1473s"},{"start_seconds":1481,"text":"we have a node which connects to our learn net Network let's see which changes I had to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1481s"},{"start_seconds":1491,"text":"do to to make this happen","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1491s"},{"start_seconds":1511,"text":"file what did they change I didn't enable theb PC but I wanted","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1511s"},{"start_seconds":1521,"text":"to I set the boot Noe to one of my instances that I know per trans and the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1521s"},{"start_seconds":1528,"text":"boot node plug yes the coloring is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1528s"},{"start_seconds":1535,"text":"fantastic so it has the node key at IP address port for connections to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1535s"},{"start_seconds":1549,"text":"peers that that's enough and there there can be a comma separated list of nodes which are considered boot nodes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1549s"},{"start_seconds":1558,"text":"and those will be when you have no roxb database the node will first Contact","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1558s"},{"start_seconds":1565,"text":"those nodes in the boot nodes parameter however if it has some peers in its Ro DB then you can then this","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1565s"},{"start_seconds":1574,"text":"value is completely ignored it will try to pick peers it knows about and it doesn't care which of the nodes is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1574s"},{"start_seconds":1583,"text":"considered the boot node M reconnect delay it was removed in","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1583s"},{"start_seconds":1590,"text":"131 doesn't matter here one network is the change","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1590s"},{"start_seconds":1603,"text":"introduced in 131 and what we're running now is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1603s"},{"start_seconds":1611,"text":"130 does it matter for our exercise no Greg is the person who knows some all about about about it because he","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1611s"},{"start_seconds":1618,"text":"implemented it but it basically means a network of connections between validators with with some guarantees for","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1618s"},{"start_seconds":1626,"text":"message delivery which is important and improves our Network latency by a lot mean number of peers for","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1626s"},{"start_seconds":1636,"text":"consensus I reduced it from three to zero if you set it to three it means you need to have at least four validators to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1636s"},{"start_seconds":1645,"text":"produce a block if I understand correctly maybe","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1645s"},{"start_seconds":1655,"text":"not anyway with this config a single validator is enough to produce","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1655s"},{"start_seconds":1663,"text":"blocks if simonas you have a better idea or somebody please correct me TR charts set to an array of zero which is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1663s"},{"start_seconds":1672,"text":"interpreted to stack all charts because other otherwise the nodes won't be of much","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1672s"},{"start_seconds":1682,"text":"won't be much useful if for example they Chun only producers I need","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1682s"},{"start_seconds":1689,"text":"to introduce Chun only producers let complic so the way we want validators to run we","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1689s"},{"start_seconds":1697,"text":"want them to track all sharts of the network so that they know and process all changes all transactions to the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1697s"},{"start_seconds":1705,"text":"whole network that way if they are reassigned from producing Chunk from one chart to another chart between ooks they","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1705s"},{"start_seconds":1714,"text":"already have the state they don't have to download it from the peers because that process is not working perfectly","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1714s"},{"start_seconds":1720,"text":"well and we would rather avoid it so we require all validators on Main","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1720s"},{"start_seconds":1727,"text":"net and test net to track all sharts today save three changes is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1727s"},{"start_seconds":1734,"text":"deprecated archive through because in this network EPO lengths I set to very","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1734s"},{"start_seconds":1740,"text":"low specifically 100 which means","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1740s"},{"start_seconds":1746,"text":"that if I am more than five EPO in the future nobody will be able to sync from","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1746s"},{"start_seconds":1755,"text":"Genesis and so I set it to True which makes my note archival which makes every block available and every possible note","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1755s"},{"start_seconds":1763,"text":"can sync from me which is what I want right is some changes from Alex","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1763s"},{"start_seconds":1773,"text":"Alexander migration threats I don't know I don't know then let's look at","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1773s"},{"start_seconds":1796,"text":"Genesis I don't know how to replace the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1796s"},{"start_seconds":1802,"text":"beautiful pink color with something more readable","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1802s"},{"start_seconds":1811,"text":"so that that's my custom name protocol version 57 which is the protocol version","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1811s"},{"start_seconds":1817,"text":"of 130 binary n block producer seeds per shart needs contain as many values as","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1817s"},{"start_seconds":1824,"text":"there are sharts that's one and two it means that we can have at most in validators in our","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1824s"},{"start_seconds":1832,"text":"Network in main net I think this number is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1832s"},{"start_seconds":1840,"text":"100 epic length reduced by a lot to 100 in production in main net and test net","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1840s"},{"start_seconds":1847,"text":"this value is 43,000 which corresponds to roughly 12 hours of block blocks in","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1847s"},{"start_seconds":1854,"text":"reality it's more like 13 to 16 16 hours of blocks reduced which makes us have","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1854s"},{"start_seconds":1861,"text":"slightly fewer than two EPO per 24 hours but two epex per 24 hours was the intended","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1861s"},{"start_seconds":1870,"text":"amount then kick out threshold reduced to 80 I don't remember what's the main n","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1870s"},{"start_seconds":1880,"text":"version value but I think it was reduced to 80 recently maybe blocks are 90 chunks are 80 I forgot","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1880s"},{"start_seconds":1889,"text":"and this defines how many of expected blocks in chunks your validator needs to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1889s"},{"start_seconds":1896,"text":"needs to produce to avoid being kicked if your validator is kicked it means you will receive no rewards and you will not","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1896s"},{"start_seconds":1904,"text":"be a validator during the next next Epoch yes which means missing","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1904s"},{"start_seconds":1912,"text":"more rewards which sometimes makes users delegators choose a different St in pool","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1912s"},{"start_seconds":1919,"text":"to delegate their tokens to and so validators care a lot about this kickout thresholds because nobody likes to be","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1919s"},{"start_seconds":1926,"text":"kicked out thenis contains a list of validators in","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1926s"},{"start_seconds":1935,"text":"my case it's a single account called boot it cannot be empty because if your blockchain has no validators it's stuck","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1935s"},{"start_seconds":1944,"text":"forever and not useful so let's give at least one and the keys are created","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1944s"},{"start_seconds":1951,"text":"locally for shard layout this defines four charts that","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1951s"},{"start_seconds":1959,"text":"are split in this ask space of accounts from the very beginning to accounts","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1959s"},{"start_seconds":1968,"text":"starting with fffff from that to account starting as mm and then to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1968s"},{"start_seconds":1974,"text":"U which doesn't corres point to main net in main net for example the whole account is account the whole chart one","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1974s"},{"start_seconds":1983,"text":"is dedicated to account aora which usually leads to even if we run any kind of Lo test to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1983s"},{"start_seconds":1993,"text":"generate any traffic we can hardly generate traffic for that specific top level account and so that leads to poor","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=1993s"},{"start_seconds":2000,"text":"low distribution and in my tests I prefer to just use a custom sharding layout","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2000s"},{"start_seconds":2010,"text":"and then the Genesis file contains all the records which is the account State at the Genesis block it contains","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2010s"},{"start_seconds":2019,"text":"access keys and maybe contracts but that would be too complicated to include I can just deploy my code","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2019s"},{"start_seconds":2027,"text":"later and so this was enough those few changes were enough to make a reasonable Network that people can","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2027s"},{"start_seconds":2035,"text":"join okay and now let's make you validators this loan loan loan","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2035s"},{"start_seconds":2044,"text":"context okay so let's look at my validator key it says account test. near","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2044s"},{"start_seconds":2051,"text":"and I'm pretty sure this account doesn't exist so let's","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2051s"},{"start_seconds":2059,"text":"just delete this yes let's just delete this and create a new account Us near","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2059s"},{"start_seconds":2069,"text":"CLI but oh wait it's not installed install","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2069s"},{"start_seconds":2076,"text":"it it run these two commands one","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2076s"},{"start_seconds":2087,"text":"installs nodejs and npm and the other one uses npm to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2087s"},{"start_seconds":2097,"text":"install that near CLI package and a big difference from the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2097s"},{"start_seconds":2106,"text":"production main net setup is that all pool staking pools and Main net are delegation","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2106s"},{"start_seconds":2112,"text":"pools which means it's a smart contract which has an API","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2112s"},{"start_seconds":2119,"text":"of I give them by tokens and that that account Stakes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2119s"},{"start_seconds":2125,"text":"them that's a comp at setup which I cannot reproduce we also don't have a","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2125s"},{"start_seconds":2132,"text":"wallet setup that would be too much infrastructure work instead I suggest we create accounts","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2132s"},{"start_seconds":2139,"text":"directly okay I will give you the top level keys from the near account and you will use that to create your own account","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2139s"},{"start_seconds":2148,"text":"using near CLI and near CLI is a very useful tool for any kind","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2148s"},{"start_seconds":2155,"text":"of local development and playing with the network lets you ingest inject","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2155s"},{"start_seconds":2165,"text":"transactions lets you inspect states of accounts let's you do a lot of interesting things with the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2165s"},{"start_seconds":2174,"text":"network okay nodejs is mostly installed","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2174s"},{"start_seconds":2185,"text":"mostly","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2185s"},{"start_seconds":2201,"text":"yep and now this command uses npm to install near CLI for all users of the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2201s"},{"start_seconds":2210,"text":"machine it's usually advised against installing mpm packages globally but should be fine in this case","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2210s"},{"start_seconds":2218,"text":"near CLI doesn't get updates too often so how do we know it's installed","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2218s"},{"start_seconds":2224,"text":"the command near Works prints you a nice help message with a long list of commands it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2224s"},{"start_seconds":2233,"text":"supports which is exactly what we","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2233s"},{"start_seconds":2245,"text":"want I guess that is working for","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2245s"},{"start_seconds":2253,"text":"everyone um now complicated","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2253s"},{"start_seconds":2275,"text":"St","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2275s"},{"start_seconds":2287,"text":"quick question uh where do you get uh this Json uh I don't know account ID","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2287s"},{"start_seconds":2294,"text":"public key secet key thing when I created the network I","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2294s"},{"start_seconds":2301,"text":"put the public key that corresponding public key in Genesis and I have the private key so I","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2301s"},{"start_seconds":2309,"text":"just I know this because I created the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2309s"},{"start_seconds":2317,"text":"network uh I need the yes I need the not to be running","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2317s"},{"start_seconds":2332,"text":"so so I need the not to run now I can use near CLI to talk to my","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2332s"},{"start_seconds":2339,"text":"local net node but it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2339s"},{"start_seconds":2349,"text":"says so I was I know that the way near CLI works it creates a directory called near credentials in my home directory","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2349s"},{"start_seconds":2358,"text":"that I know and so I did this complicated command this is what I want to do","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2358s"},{"start_seconds":2367,"text":"but to do this I need to know the near key okay so when I run this command it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2367s"},{"start_seconds":2376,"text":"complains that oh no I don't have the key from the near account but at least it creates the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2376s"},{"start_seconds":2383,"text":"directory credentials is empty now in this directory we can create the file near.","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2383s"},{"start_seconds":2395,"text":"Json copy that stuff over here repeat the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2395s"},{"start_seconds":2401,"text":"invocation of create","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2401s"},{"start_seconds":2422,"text":"account that message says that we submitted the transaction to our local node but it times","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2422s"},{"start_seconds":2430,"text":"out which we also see in the looks that that transaction keeps timing out I wonder","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2430s"},{"start_seconds":2441,"text":"why so my other two notes are running fine okay","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2441s"},{"start_seconds":2452,"text":"created and yes I should have changed the name of my account to something","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2452s"},{"start_seconds":2459,"text":"reasonable like my username","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2459s"},{"start_seconds":2475,"text":"therefore this command State shows me the account","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2475s"},{"start_seconds":2481,"text":"state it tells me that I have a million tokens","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2481s"},{"start_seconds":2488,"text":"nothing is staked yet and that's what I want to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2488s"},{"start_seconds":2496,"text":"know so for example this and the next command would","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2496s"},{"start_seconds":2511,"text":"be St","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2511s"},{"start_seconds":2529,"text":"is it stake","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2529s"},{"start_seconds":2545,"text":"yes","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2545s"},{"start_seconds":2563,"text":"what is wrong","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2563s"},{"start_seconds":2575,"text":"okay I'm","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2575s"},{"start_seconds":2583,"text":"confused whatever we doing so this is my key let's by the way","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2583s"},{"start_seconds":2590,"text":"copy it to be my validator key just copy in without any changes it","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2590s"},{"start_seconds":2598,"text":"contains the account name public key private key that's exactly what I need in my validator key I start in the node","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2598s"},{"start_seconds":2605,"text":"and not now it will attempt to join the network as a validator as soon as it contains the stake and because our EPO","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2605s"},{"start_seconds":2614,"text":"are 100 blocks which is roughly 100 seconds it will happen quite","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2614s"},{"start_seconds":2622,"text":"soon now the question is how do I actually stake without the delegation","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2622s"},{"start_seconds":2635,"text":"tool","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2635s"},{"start_seconds":2649,"text":"okay please work don't stti with my account stti","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2649s"},{"start_seconds":2660,"text":"with your account but this is the idea so to up you create an","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2660s"},{"start_seconds":2667,"text":"account you check that it exists with the state command you run the stake command and you run the state command again to check that locked is now","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2667s"},{"start_seconds":2677,"text":"greater than zero and that the remaining available liquid amount is","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2677s"},{"start_seconds":2685,"text":"something less than a million and soon because I did the staken my note will","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2685s"},{"start_seconds":2693,"text":"join the network as a validator and we'll actually okay and we can check if it's","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2693s"},{"start_seconds":2700,"text":"already voting for itself to be a validator yes yes so the proposals","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2700s"},{"start_seconds":2711,"text":"command of near CLI shows","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2711s"},{"start_seconds":2717,"text":"me that this account takes 999,000 tokens to get one seat","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2717s"},{"start_seconds":2726,"text":"as a block producer probably oh and this account already","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2726s"},{"start_seconds":2738,"text":"created 80 chunks out of 80 chunks","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2738s"},{"start_seconds":2745,"text":"expected so this works I don't see anyone else joining so","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2745s"},{"start_seconds":2754,"text":"yes please ask questions uh yeah so I think uh when I do the the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2754s"},{"start_seconds":2761,"text":"command near and equals logo near and then create account so I had an error says fail to load master account key","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2761s"},{"start_seconds":2770,"text":"from valider key. Jon so I looked at the dot near and I don't see the validator key so is there a place where we added the validator key.","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2770s"},{"start_seconds":2781,"text":"Json no and I argue that you don't need need it all you need is this file with","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2781s"},{"start_seconds":2788,"text":"the contents posted above oh okay time check","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2788s"},{"start_seconds":2797,"text":"acknowledged let me check it oh it has to be in the near","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2797s"},{"start_seconds":2806,"text":"credentials loc directory not okay I","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2806s"},{"start_seconds":2814,"text":"see","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2814s"},{"start_seconds":2848,"text":"if you have this file then you can run create account using the near as the master","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2848s"},{"start_seconds":2855,"text":"account so that your new account will be sub account of near it will be something do near you can use any account like","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2855s"},{"start_seconds":2864,"text":"this but the ones you create will be sub accounts if you have wallet set up this","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2864s"},{"start_seconds":2870,"text":"is how like test net wallet works it will be use some interesting smart","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2870s"},{"start_seconds":2877,"text":"contracts to let you create accounts that are something dot","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2877s"},{"start_seconds":2885,"text":"near which is not possible during using near CLI you need some special access to the near top level accounts to be able","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2885s"},{"start_seconds":2892,"text":"to create sub accounts of that so we're using the shortcut here by","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2892s"},{"start_seconds":2899,"text":"doing this command line magic proposals hey I see one one new","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2899s"},{"start_seconds":2908,"text":"proposal nice in about a minute you will become a","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2908s"},{"start_seconds":2915,"text":"validator how do I check uh whether there is well","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2915s"},{"start_seconds":2922,"text":"yeah is that okay proposals validat validators current validators","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2922s"},{"start_seconds":2929,"text":"next or validators and block has of f first block of an EPO or the last block","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2929s"},{"start_seconds":2937,"text":"of an EPO I always forget but you cannot just give it a random block here it needs to be the first block of an EP","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2937s"},{"start_seconds":2945,"text":"which is not convenient at all and I can see the stake increasing","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2945s"},{"start_seconds":2953,"text":"by some amount which is because the rewards for the EPO are being distributed the bigger the stake the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2953s"},{"start_seconds":2961,"text":"higher the rewards also the higher the up time the higher the","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2961s"},{"start_seconds":2968,"text":"rewards I think my my command of creating the account is like R trying request to broadcast trans TX commit as","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2968s"},{"start_seconds":2977,"text":"it has timed out should I should I just run it again or should I just wait just wait","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2977s"},{"start_seconds":2984,"text":"okay because right here I am generating some small amount of traffic","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2984s"},{"start_seconds":2991,"text":"by running transactions running function simple very simple function CL in a bush for","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=2991s"},{"start_seconds":3008,"text":"Loop maybe that","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3008s"},{"start_seconds":3024,"text":"helps okay","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3024s"},{"start_seconds":3037,"text":"kickouts what every validator is afraid is being kicked it can be kicked for two reason one is not enough blocks produced","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3037s"},{"start_seconds":3045,"text":"another is not enough chunks produced the threshold is either 80 or 90% I always forget and they used to be different for test net and Main","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3045s"},{"start_seconds":3054,"text":"net so every time we do an upgrade for reasons we don't fully","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3054s"},{"start_seconds":3063,"text":"understand we see that validators for some time are likely to miss chunks which","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3063s"},{"start_seconds":3071,"text":"makes them very nervous which makes them contact us asking why everybody misses chunks and the answer is we still don't","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3071s"},{"start_seconds":3078,"text":"know one day we will fully investigate and understand and make it not and prevent this from happening","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3078s"},{"start_seconds":3086,"text":"but at the moment the sad reality is that yes validators are likely to L chunks after","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3086s"},{"start_seconds":3094,"text":"upgrades or restarts I wish I knew why okay and then there is another","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3094s"},{"start_seconds":3102,"text":"scenario where validators need to pay some attention to their Noe is when we have a new binary available like we go from 130 to 131","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3102s"},{"start_seconds":3111,"text":"which contains a protocol upgrade to upgrade the binary you need to stop","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3111s"},{"start_seconds":3120,"text":"your node and start it with the new binary sometimes start in the node requires a database migration which","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3120s"},{"start_seconds":3128,"text":"means it will be it will take some number of minutes up to an hour for an RPC node to go through the whole","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3128s"},{"start_seconds":3137,"text":"database and fix something or change something to the new format and that is unacceptable because","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3137s"},{"start_seconds":3144,"text":"during that time you are almost guaranteed to Mis production of some expected chunks of","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3144s"},{"start_seconds":3151,"text":"blocks and what validators do they have at least one backup node which so you have a node which","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3151s"},{"start_seconds":3160,"text":"validates you have some other nodes which are backup nodes you will upgrade them first you will check that they work","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3160s"},{"start_seconds":3167,"text":"fine with any new binary then you stop validator in the backup you change the keys the validator keys and you","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3167s"},{"start_seconds":3176,"text":"start them again and that way the restart is much faster and you almost Miss almost no","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3176s"},{"start_seconds":3187,"text":"blocks some validators are very interested in contributing a mechanism to let us change the keys at run time","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3187s"},{"start_seconds":3196,"text":"for example you can make a backup note a validator without stopping it first that would be very","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3196s"},{"start_seconds":3203,"text":"useful for for the the whole ecosystem because our current documentation says just run near","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3203s"},{"start_seconds":3211,"text":"drun and you're a validator and we provide no instructions how to actually be a validator with 100% up","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3211s"},{"start_seconds":3219,"text":"time and it's Community tribal knowledge how to make it work","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3219s"},{"start_seconds":3226,"text":"effectively which is suboptimal I wish somebody published this documentation somebody improved the clients to make","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3226s"},{"start_seconds":3234,"text":"this use case supported but today it's not yet supported okay Quest chain is near","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3234s"},{"start_seconds":3246,"text":"nice oh no I forgot to St yes why I don't need a validator key","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3246s"},{"start_seconds":3256,"text":"you need a validator so when you create your account copy that account from near credentials local to be your validator","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3256s"},{"start_seconds":3264,"text":"key so something","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3264s"},{"start_seconds":3278,"text":"like something like that and restart the node and stake and","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3278s"},{"start_seconds":3285,"text":"then they will be validator how to check if you were","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3285s"},{"start_seconds":3294,"text":"kicked yeah B chain is here also has been","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3294s"},{"start_seconds":3299,"text":"kicked well because of the 0% online no idea","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3299s"},{"start_seconds":3310,"text":"why H H I also don't know how","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3310s"},{"start_seconds":3317,"text":"Fireballs if you created a I I just created a node with you there are no firewalls but maybe you have your own private firewall","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3317s"},{"start_seconds":3326,"text":"but why would you we're talking gcp to","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3326s"},{"start_seconds":3334,"text":"gcp interesting so this didn't work and we're out of time thank you for","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3334s"},{"start_seconds":3344,"text":"your attention you have the presentation from George coming up","url":"https://www.youtube.com/watch?v=ayuYH_umTrI&t=3344s"}],"youtube_url":"https://youtube.com/watch?v=ayuYH_umTrI","url":"https://near-pedia.xyz/videos/ayuYH_umTrI"}