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

Loading player…

The Safest and Fastest Way to Become a (Paid) Web3 Developer

Ethereum DenverSun, Oct 9, 2022, 12:00 AM

Transcript

reach is the fastest and safest way to build web 3 decentralized applications and it's also one of the fastest ways you can evolve your career as a paid web 3 developer up until recently the alternative for software engineers has been to learn a low-level language that can take 8-12 months to become a novice in and many more to be considered intermediate additionally it locks you in to one specific consensus network with reports of millions of dollars being stolen from smart contracts the stakes are high audits are expensive and they can't guarantee safety or security to bring web 3 to the mainstream we need developer friendly tools that can be learned in 16 of the time of current languages and provide biddlers greater security so they don't fear that their work will go up in smoke due to one malicious actor so how can you make the leap from building web 2 applications to building decentralized apps for web3 how can you ensure that the products and services you create won't be victimized by dishonest actors or is web 3 just meant to be niche and volatile allow me to introduce you to reach we believe that for web 3 to become mainstream we need tools that the millions of existing web 2 technologists are already familiar with tools that are accessible and friendly that empower developers to build secure back ends and create beautiful user interfaces that exceed today's standards and we believe that a full stack developer should be able to learn how to do all of this in less than two months that's why we created the reach programming language reach looks and feels like javascript with web3 functionality it's blockchain agnostic so you can build once and deploy to multiple consensus networks with the same program and our automatic formal verification engine eliminates the need for third-party audits which are both costly and time-consuming so how does reach work as the developer you codify the business logic of your program start with the problem analysis what problem do you want to solve or what do you hope to accomplish define your data points and write down all of your assumptions about your program participants are defined in an interact interface in the back end which is then populated with interact objects in the front end in other words you define what your contract participants are allowed to do and how they may interact with the contract and one another once complete reach compiles your program into the bytecode on your behalf that's right reach compiles and builds the smart contract based on the business logic of your program this allows you to do what you're good at being creative and converting complex ideas into human readable code and allows the compiler to do what it's good at converting high level code to a low level byte code that the machine can process welcome to a whole new paradigm of smart contract development that's not all that happens reach's formal verification engine also runs at compile time to ensure that your program is mathematically proven not to allow the contract to overspend leave tokens in the contract at exit and also proves that formulas are true with honest and dishonest actors that's better and more secure than an audit every reach program is mathematically verified instantly and free of charge who else can say that their dap has been mathematically verified okay that's cool but if it's so easy to use then it's only for the simple applications right that'd be like saying since javascript or python are relatively easy to learn then you can't really do any serious work with them like if you really want to build a serious program then you've got to use assembly if that were the case technology would barely be progressed beyond the point of the 1970s reach is anything if not serious developed by our own phd and computer scientist co-founder and cto jay mccarthy is an expert in compilers and formal verification engines reach is a robust high-level web 3 language that is being used by a number of companies to build the next generation of truly decentralized applications humble is building humble swap a dex expat is developing a stablecoin tinychart is a trading platform for algorand standard assets algomit is solving interoperability for d5 zestbloom is creating a digital media marketplace for crypto art zone is building a game 5 platform and decency is taking on nfts in the music industry to give control back to artists some of these organizations are here at east denver so be on the lookout and say hello so now that you're ready to take your career to the moon let us help you get started first wipe away those tears of despair we're going to have you a full-fledged web 3 developer in no time soon the only tears you'll be weeping are tears of joy from all that prize money you'll be swimming in now that you're dry eyed crack open that money maker you call a laptop and let's get you connected to the internet [Music] oh you're already connected all right alpha flip open that camera phone in your pocket oh sorry i just realized it's already in your hand anyways get that camera ready because i'm going to give you some qr codes that you're going to want to grab now that you're ready to go you'll head on over to docs.reach.sh and follow the instructions as found in our tutorial to install reach so click on tutorials rock paper scissors install and initialize and follow these instructions we even have instructions for our windows users before i leave this page i'll say one more thing that you're going to want to remember take some time as you prepare and actually work through our tutorial it'll give you the tools you need to be successful this weekend the next thing you want to do is join our discord i know i know i know you're already a member of two to the 256 power -1 discord rooms and believe me so am i but trust me you're going to want to join the party and reaches discord we have an active and supportive community and someone is there to help at almost any time any day of the week you can also follow us on twitter at reachlane our ceo chris winter is there as well look him up i'm also there let's get connected and you can reach out to me this week if you need some help now that you're fully socialed let's start building so how does reach work i've got 10 minutes left so i'll give you the mile high view and will zoom in as time allows in reach you focus on the business logic of your program and the compiler does the heavy work of building the smart contract for you this may sound foreign at first but this enables us to create wet-3 dapps that are much safer in far less time and with fewer risks than any other viable alternative as a bonus your reached out is likely going to be more efficient when running on the blockchain because let's be honest with ourselves a compiler is able to create more efficient byte code than about 98 of us so now that you're starting with reach you'll begin by defining your participants and their interactions within the contract so what they'll be able to do and how the participants will interact with each other and with the contract the compiler produces an index.maine.net file that just stands for magic javascript it's a javascript file and this includes the smart contract byte code at the same time the verification engine uses symbolic execution to verify the contract in less than half of a second the front end mirrors the back end interact objects reflecting the interact interface are defined in the front end as the developer you create the front end using javascript or if you wish you can plug into our rpc to use python c sharp or go building the front end is as straightforward as mirroring the back end interact interface and defining the logic of the interact objects since you know what you want your participants to be able to do you simply codify the business logic reaches javascript standard library provides useful helpers and methods to make your life easier when your dap is complete connect to a wallet to access the consensus network of your choice currently reach can connect to ethereum and any evm compliant blockchain algorand and conflux the only blockchain that legally operates in china one of the great things about reach is that you can choose which consensus networks you want to connect to without needing to change your reach program in other words reach is blockchain agnostic build a once and then deploy to multiple chains you're now ready to deploy your smart contract the contract is included in a transaction block and once verified by the consensus network participants are able to attach and interact with your contract zooming in to the reach back end we'll find that we can quickly learn reach architecture as well there are four modes in a reach program app initialization a step a local step and a consensus step when designing the app initialization mode we first perform a problem analysis and define our constants by writing out all of the data that our participants and contract will require now that we understand the requirements of our dap we can create the participant interact interface so here you see the initial stages of a reached out we define a constant of player and then in the export const main equals reach dot app we actually define the participant interact interface here we've created two participants alice and bob who are both endowed with the functionality that we find in the constant player a quick note here you can download the reach extension for vs code for syntax highlighting auto fill and useful debugging tips so the d app is initialized with a call to the contract in the front end or in this code sample by calling in the init method and this moves us out of the app initialization mode and into the first step our next task is to construct the communication architecture in other words we'll define how participants will interact with one another and how they'll interact with the contract in this example we have defined alice to move into a local step with a method called only where she declassifies information and then publishes and commits that data to the consensus network then we see bob follow the same pattern of moving from step to local step and then to a consensus step now that we have created our communication architecture we will build a cryptographic commitment scheme that the verification engine can use to help validate the contract we create an admittedly weak assertion interaction with the expression that is assigned to the constant outcome in more robust reach steps we'd use specific methods such as assert assume and require that the reach compiler would recognize as points in the contract that it would attempt to falsify only after passing the theorem verifications attempts to break the program would the compiler finish its task of producing the bytecode for the smart contract in our final snippet of code alice and bob each cycle through a consensus step and a local step to see the outcome of their game before the contract exits up to this point we focused on the back end reach contract and we've seen how we can build a complete contract in exponentially fewer lines than low-level alternatives for the curious this is what our corresponding front-end looks like the thing you'll notice is it's simply javascript with a few web3 methods we begin by importing the reach standard library and backend populate our test accounts with the starting balance and then in lines 9 and 10 we deploy and attach to the contract with the contract method the remaining 20 lines of code are nothing more than the front end logic of our dap we define our constants create and define our interact objects which are reflections of the interact interface in the back end and finally we create a promise that waits for our participants to call the methods in their player object reach contracts are faster to write cheaper to interact with on the blockchain safer and more secure and less stressful to build what web3 applications can you implement with reach the possibilities are almost endless games a ducks nft galleries nft auctions inventory insurance fintech tools or perhaps something the world has never seen and how does all of this relate to getting you a paid career as a web3 engineer well just between me and you companies are in dire need of web3 developers and we've found that full stack developers can pick up reach in less than two months and build complete dapps in a matter of weeks not to mention reach may be the only way to collect prize pools from both ethereum and algorand at the end of this weekend see you on the floor and in the discord

Automatic transcript — names and jargon may be misspelled.