Expanding the Web3 Community by Targeting Web2 Devs / Liesl Eichholz, Martin Maurer
EthPrague 2022 · June 2022 · 26:41
Liesl Eichholz and Martin Maurer explore how the web3 community can grow by targeting developers who come from web2. At ETHPrague 2022 they walk through the technical, UX and business considerations that go into building web3 developer tooling for programmers who are new to blockchain development.
Speakers
Topics
From EthPrague 2022, hosted by ETHPrague.
Transcript
foreign good morning a couple of people already awake that's good last day usually is a the hardest to get up in the morning so I'm happy to see all of your faces um my talk today is about transitioning from web 2 to web 3 where chainsaw figured out that we need a transition from web 2 folks to web 3 and this can be a bit of a bumpy road
sometimes so actually my colleague Liesel was supposed to do this talk but she couldn't make it to the event so I volunteered um as as you already know I'm Martin I'm a technical project manager at chainsafe systems and I've been with the company for a whopping four weeks now so so I'm pretty fresh to the company but I brought a couple of colleagues with me so in case there will be questions that I'm not able to answer we have got um we have got you covered um oh yeah I've been I've been with the company for four weeks and I'm loving it chainsafe is actually one of the
greatest places I've been working so far just so you know um I'm working in the Consulting Department and I'm mainly responsible for rust projects so I'm working with the rust Team all day implementing projects for our customers and what what I would like to do today um first of all get an understanding of what your your stack look likes with what you work in um giving you a quick intro on getting started in web3 development how that feels because this is exactly what I've been doing for the last couple of years myself um then there's a point where you want to
choose a path in web3 it's like there's different areas that you could work in and it makes sense to to pick one and then I would like to present you a couple of the tools that we're providing as chainsafe because we've got products developer products that might help you to make this transition easier so interactive part who in this room would consider himself systems engineer nobody so who in this room would consider himself a web 2 developer yeah quite some who would be a web free developer quite some and who would not be a
developer at all but is interested in in learning very well um good it does not have to feel like this even though when you first start with web 3 it sometimes does feel like this because this is a very young technology still and it has got moving parts and they come in the most unexpected situations um so if it feels like this for you sometimes this is not something out of the ordinary just keep going like our little friend here that's actually important when I learned web 3 there wasn't I didn't have any
knowledge that I would have to to relearn because I didn't know how to code that's five years ago and because web3 does not have this this highly abstracted um Frameworks yet that you would be used to from a web 2 context um I had to focus on more low-level operations and that really helped me um wrapping my head around web3 so if you work with a with a framework all day long something just an example like react and you have got very specific knowledge about this but you're lacking the the idea of what a compiler does or how
things work under the hood it's always good to go back to the to the class room for for a week or two and just grind the basics it will help you it will tremendously help you to understand the concepts once you've done that you can choose either you're more a front-end person so that would probably direct you in the path of a of a Dap developer or you're more a back-end person then you might want to write smart contracts or your assistance level engineer and see a second nature to you then you would probably go and Fiddle with the
protocol stack directly um cryptography is um can't be evaded so asymmetric encryption hash functions and Merkle trees signature verification these are all things that you might have touched upon in your development work already but it just worked and it was a necessity that you just maybe just accept it in in web 3 you have to sign everything everything's the transaction and every transaction has to be signed so wrapping your head around cryptography to a certain degree really really helps um and it's not that hard it's um it's
not as hard as it might look from the outside then there comes this this this phase when you need to get used to foreign Concepts that do not apply to any other stack I will not play this but just jump on um something like consensus if you have a network of nodes and they want to reach the new latest state of the entire network and they're all distributed you need a means of telling every single note what the current system state is so something like consensus is a foreign concept that you don't have in other Technologies you get used to that same thing
would apply for something like finality so if a block exists it can not be regarded as data that you can directly use because you need to wait for a specific period of time depending on the network you're using so you can actually rely on that data and be sure it will never be reverted so these are things that you might know from from 30 40 years ago where computers were really slow and and didn't do a lot of fancy things in blockchain sometimes you feel like ported back in time a little bit still these Concepts they come to you naturally after working with the with
the technology for a while so let's assume you did all this and you feel ready um this is the moment when you pick a path so you could if you're a front-end developer you could stay in that domain if you're a back-end developer you could stay in that domain if you want to work on the protocol you can stay in that domain it's just a matter of relating to what web 2 is and making sure that you that you ingested the the tools that you would would be using for that and in general these tools come
when you go on GitHub and you you find a library that that kind of does what you want to achieve they come in a pretty raw fashion it's it's this is the thing that that is for for most developers I'm talking to this is the biggest problem that all of a sudden they can go through a documentation full of beautiful methods that they can just use and get all the heavy lifting done for them but you you really have to be prepared that you you are in control as a programmer and you can really um touch that machine at a at a lower level so
don't be scared um it's not uh it's not a thing that will take you very long um most people I I I met over the years when they wanted to transition and they put their mind to it um it took them maybe a month if so um because the concepts that that change will will actually be your your your standard toolkit at one point and to make this even a bit more accessible chainsafe develops a couple of sdks and libraries that are supposed to Shield
you from doing systems level engineering all day because obviously um you want to implement an application or something that that is useful for a customer and not spend your your entire development time on on heavy lifting so what are these um one of our products would be um web3.js let's say a JavaScript API there's there are other ones but web3.js is pretty pretty well known it is um being Rewritten because uh Nazar here in the audience is a great fan of type
safety and therefore this is getting a bit of an upgrade so we can make use of what typescript can give you with um in contrast to what JavaScript does so this is a a library you will run into or an API that you will run into within the first 10 minutes of Googling I would say as a web developer then there's a another product that is really brand new that's the gaming SDK is there oh I forgot one group of developers is there a game developer in the room no sort of if you have been working with them with unity 3D ever in your life
um chains have managed to put a ethereum toolkit into the into the asset store and this is this is good for making your your game blockchain based and there's there's a it really makes a lot of sense because you can now um use nfts within your games which totally changes the economics of how computer games work these days it gives more power and more freedom of choice to the developer than ever before and it's one of the products that is um constantly under heavy development but you can already check it out if you go to the
asset store you will find it there um then there's chainsafe storage so if you had the situation that you were touching ipfs or filecoin at one point you might have experienced that this is a this is a different kind of storage in contrast to something like a S3 bucket on on Amazon um it's it feels complex and if you want to spend the time fiddling with ipfs it can be learned but to make this more more fluent and without you having to worry about something as simple as storing a file on
something um there's a chains have storage that allows you to basically flip a switch from your S3 bucket and now you basically tell your your application to use a distributed storage and we can we can help you doing this more easily um Chain Bridge um if you're ever in a situation where you want to swap a token from from a ethereum based machine to another one you will figure out that Bridges can be really complex to work with and they there's even another trade-off that you need to
take in account which is security so what we what we saw is the the code for Jane Bridge it is being forked quite often and teams keep working with the with the with the code in their specific ways so this is custom Bridges all of them are doing the same thing bridging from one evm to another one and swapping tokens over but because um everybody keeps going this introduces a a security um concern that we are addressing right now because there will be a Chain Bridge hub where where there will be more unified interfaces for Building Bridges and in case you you want to get in touch with
our with our project lead at um at chain link at Chain Bridge he he asked me to to tell everybody who's interested in running relayer node um to just send them his way so in case you you have this this use case where you want to bridge from one evm to another one um come talk to us and um there might be room for for cooperation because this is not something that we want to do as chain save ourselves but we would like to invite The Wider Community to do this with us um it's technically it's quite quite interesting
um topic but you can find me later if you want to know the details about it then there's BLS um had a longer discussion with NASA about it yesterday that's for um PLS signature aggregation if you haven't heard about BLS signatures and PLS signature aggregation um don't worry um we can see that it is picking up in how many people are actually using it so you you will bump into this what it does it will actually make many end signatures into a fixed length
signature and therefore you can basically bundling them up because otherwise it can get quite messy according to your business case um this is the the products that I wanted to directly address but there are many more it change if there are many more products that could help you um either as a developer um as a web 3 developer but as I said game developers for example will find something as well that might make their lives easier so feel free to check it out um and if you if you need more information about the specific products
we have we have um product managers per product and they're they're very open so if you want you and ask a question or get in touch feel free to do so it's not a problem at all okay this is the the actual uh presentation part and now if you have got any questions please feel free to ask [Applause] hi thanks for the great talk I'm I'm
wondering do you have any tips for ux designers is there like a big difference between web 2 and web 3 uh as far as design approach yes there's one one really ugly thing in um ux design for web3 because you need to deal with addresses and addresses um will ideally always end up in your clipboard because if you if you mess them up then your transactions will not work and um a lot of people they just go copy and paste them and use them and if you if you know about the the dangers that come with it um you you want to think about how to making sure that addresses in a in a um
in a in a blockchain network are used appropriately because it's something that does not apply somewhere else because usually you just make it you click and you go to some website and everything happens automatically but in the case of a of a blockchain transaction you need you need to always sign it um and you need to always know the address of where this transaction is uh looking at so this is one area and the other area of ux that is a bit difficult is there are more steps involved and from what I know about ux design you want to reduce the number of steps so that it's nice for the user and not a lot of room for errors
um and reducing the number of steps usually requires you to understand really well what this transaction is supposed to do for example the The Chain Bridge example you want to swap from one network to the other this is not like clicking a button at the moment this is depending on the networks it can be between 5 and 20 steps to actually get token from one to the other network and you cannot mess up a single one so there is challenges um but I'm sure that you will come up with a smart solution there
Yeah question about drugs developers how do the language is Young also and very complicated talking about the protocol Developers how to attract people from web 2 to web3 to use rust and huase rust I would disagree with the fact that rust is complicated rust is complicated if you never programmed in your whole life but if you my way to approaching rust was I was doing C for a while and that was so ugly that rust felt like heaven so you you can get into rust but you don't
really need rust in the first instance if you're transitioning to web 3 unless you want to work on the protocol level but if you want to work on the protocol level you will very likely be used to something like C C plus plus low level languages that do the basic transformations of data and coming like what what language are you coming from did you do some C or something like that um my team I use rust and I deal with the situation you described how track talented people from up to to be undressed and it's so hard today yeah okay now I get it yeah same same problem
my the team I'm working in it is constantly being drained because everybody says hey Mike can you have rest developers we need them and off they go um and attracting them is something that uh my colleague Francis could be could be telling you something about because she does HR and has this this problem all the time but I do I just ask people to to dive into it and do it for a while and then train them I was differently um we would like our plan to find talented people and to grow with us do have this experience in your team yeah Francis please thank you
um yes so basically I think one of the best ways is like find good developers that you can train like actually we have got people with C C plus plus backgrounds or Haskell even um and then like if you can set up like a training academy or kind of a program and you can ramp them up I think it's the best because like finding senior Ros developers it's very it's hard it's very expensive and usually if you get them you know there's a there's going to be another company that are going to take them away right so I think the best is if you can actually train people that love the language and a lot of people want to get into rust or even polyglots that have like work with other like low level languages and they were not
getting to Ross it can be learn and then they're going to be even more loyal to the company uh you know if you train them from the scratch and you can mold them better so that's one of the things that we have tried and we have successful people that didn't know rust and the writing at the moment in our projects so thank you well there's one more question it's a quick question um you mentioned that web web3.js is going to be ported to typescript that's in the it's currently in the works can you share what the timeline is on that Nazar can you can you please um answer that question
thank you so I had a talk yesterday and I explained it in very detail uh so the rewrite is complete it's already complete and right now we are working on the migration guide so that once you're gonna transition your projects you know but things are breaking and what are the core Snippets to replace so as soon as we complete those transactions our migration guides then hopefully in this month you will get a First Alpha release with a complete types of uh web 3DS but there are a lot more features as well so I suggest you can like check our blogs I will be writing there as soon and there is a conference next week in Amsterdam and I'm talking there as well on the web
3DS so I will be sharing more details there thank you and sorry one more thing I want to add here in the coming mix we are working internally on a developers roadmap to the web3 it's a detailed developers roadmap with the checklist from where you are transitioning and from where you want to go into web3 so we will publish it to our website and one other portal which are very famous for the developers as well so keep checking our blogs and you will find it soon maybe in couple of weeks and it will be the first I will say the more detailed uh roadmap for web becoming a web 3D is the Developers
thank you any more questions anybody I I would have a just uh if you could elaborate I didn't know about the bridge project uh and I guess it's supposed to be a trustless bridge uh with minimum trust assumptions and and uh you mentioned the validators so how does uh the bridge can achieve justlessness how the validators work just in some uh you don't have to go too deeply but also like what is the benefit of running the validator or what is the cost yeah the two questions what's the benefit and how does it work so it works in a way that you when you make a
deposit on network a the tokens they want to swap and what happens then it goes off chain it goes to a network of of relayers and those relayers what they actually do they have parts of a joint key so we take a a private key apart and it's being distributed over all all the validator validators nodes basically and then um they they come up with a with the with the leader that is supposed to write that there's an action to the network B where those token then then are actually being given to the to the address that met the deposit in the first place this is a
at the moment because it's um in a conceptual stage there is no no defined incentive for running valid data nodes and I know that this is a question that needs to be addressed but for now we're basically getting the technology right so we so we stop people from taking the the old bridges and um implementing them in in different ways so we we get around this this security problem we're seeing and um yeah it's it's currently under development I was asking for for a Docker before I came here because I wanted to play but one of the core developers told me I need to wait another week so but it's it's coming and please talk to uh Georgios at a chain
safe and he will tell you I think we're almost over time yeah yeah we have to finish so um thank you so much Martin uh I guess that's it thank you the audience for mentioning uh thank you thank you