Hashing It Out
Hashing It Out

Episode 25 · 3 years ago

Hashing It Out #25: Embark Framework - Iuri Matias

ABOUT THIS EPISODE

Today we have the pleasure of interviewing Iuri Matias of Embark Framework. Embark is a decentralized application framework that abstracts away the implementation details of specific technologies, allowing dapp developers to focus on what really matters, the experience. We talk about the features of Embark, the design decisions of the framework, and how Embark will integrate new technologies into their systems as they develop.

Links: - embark.status.im - twitter.com/iurimatias

Now, injrywelcome to hashing it outapoasped for retalk to the tech, innovators, behind blocked inintrestructure and decentralized networks. We dive into the weeds togetat why and how people build this technology. The problems they facealong the way come, listen and learn from the best in the business. You canjoin our ranks. Arighty episode, Twenty Five O fashingit out. I'm Doctor Carre Patty with my trustyco hosts, calling cuche say:what's up going what's up Calin it day, um finally got someone from status over tojoin us, but not necessarily working on status, but a project Witin Tatao, Olhat him can explain it. We got Europtus who works on the embark code, e, theide for grating smart contracts and do central. I applications and there's atremendous amount going on withim bark that I've noticed m well working titstatus, and I wanted to get him on to kind of explain. What's going on whatis use for where the the future holds off so ery. Why don't you give us aquick introduction as to who you are how you got kind of started in thespace a little bit of your background and then what embark is oagoys so yeah? I work for STA AFOstatus in Bark FM work on the Leed developer, also work fortite,infontation, part of the remixd team. We work in a remixed ID and alsorreelated to such as the the debugger itself. Most so moderated moderator atAriteria and or a trader was one of the confonders of a trade or two Um was oneof the cractis of the Dou a been in space, a tur space pretty much sincethe beginning, since the very early proof of concepts and I'vebeenfollowing a big Qie for a long time, and so I Istarted what really caught my attention wasnamecorn actually and the reason. The reason was, if youguys remember back in the day with wekelegus censorship, so the first timethat it was actually the weeklegs domain was censored in the US, and thisgot thetentonb a lot of people, including myself, because although we knew this system wascentralized, we never really thought that any aisot of censorship wouldhappen because the servers were in the. U S so n, you know in the democraticcountry, so we didn't thought that that would happen. So a lot of people thattime we're bringing storming all to do.Thisitalie, DNS and transout was really hard. It's really hard to do. It's Whit's what it's called t zocosTriang right, it's very hard to do to do disro the NS, or was it at leastwhich you can have e meaniful names is te centralize in the same time, secureand no no one could really figure out how to how to do a system thatsupported the three proities Bu. Obviously there was things like freenats, but they didn't support the mininful part, and so someone men whatabout what about Bitcon? And we could use that but and use that to registerdemains nd and then namcoin became Atang Wer in the first offcorn and thatWa. That was what re got me really interested 'cause soon. I realized thatthis Bin Ology 'caus to create all...

...sorts of disapplice systems afterwardscame th. This snowed and leaks an which revealed that things wereactually way worse than anyone could imagine and became very, veryclear that we need a disintrovization. So afterwards there was a lot of new blockchains all over the place. People would create a bok chain just for Speci,specific purpose, which is very problematic, but they wuldactually for bitcorn art articles, whateveruscase they wanted and then release Echhan Um and when it, when I firstoverheard a vitarium because they went to do something that was programmable,it was unhard called. It was journalistic. I got really reallyinterested 'cause t that was like the perfect solution to to recrate tiipiseapplications, an telie systems. That's a at's, think hat's, that's a a story. We can all relate to in someway shape or form at least the ones that have been around for such a longtime. How did you hod ID you get started into like embark, specificallylike what Ma, but first off what is embark and n? How did you decide to youwant to do w creat, your own ecause? You have other IDs in the space. Why MMakei new one I supposed to Um, add on to the ones that existed then so and part was actually the first one. Nothing existed before before beforethat, and that's why I createit so I I so white term was n N. finally, somestate that could be usable. It was one of the proofalf concepts. It was stillreally really hard to use it. It was incredibly complicated Y. You need toto use this client called Alad Zero. It was very overwhelming, like a lot ofdifferent options that didn't necessarily make sense and itcomposiyourself copy piss the bite cold. Put in this really weird dialoguesfigure out. What is the gas cost m? COPI PSBI YOU KN W. It was verypainful process and there was no tools. There was not devoloement toos at all.Nothing existed to, and I really wanted to do at the time DDISIFLIZES marketwanted to to experiment with tisevize market. So I started to create a pipePli that would facilatate developement, so it would automatically detect mychanges. O plomatically deploy te contract, T, wait, contoe dress and wejust biut it dat, fror me and and and then I realize okay, this can be usefulfor alothers, so I so I put it on read it and I colting bark mostly for likeimaginations, I talke imparkingto, the Eater Orto Them Nto. That was the mistbrowser. So I was, I somehow just fig pictured this this ship, actually a Pare Caik but anyway, WHA,would explain all theoasmaships pen all spaceship yeah, a thislike channel Yeah La later th sthat sh became spated,and so so that bequite poplar little othertools came along, but I continued working on it and n just at the time, Anitol recently prettymuch on Mi spart time like I get to, I kept working on it th. So the reason is because the themain golving bark is to is to create true disentalizeapplications and by tre dicentalize I mean that really laverage, the entire...

...voible stack for dhisenplicedtechnologies. So we are to. We are two phas until no. The first AIS was thatpeople ere just doing contracts, Ere noing carring about the the uy O thatstage pretty much users were being asked tocopy paste, Abis an address into into wo publication, and- and just I now toparcipate in some co or something like that. No we're state TEVOP was actually creating Uy forsmart contracts, but that's still not enough wi to qrit really truedisenplize applications. They need to to lsthe entire Wieprestack, and that means that the larage, not just th ablok chain, whichis the cocesses mechanism, but also this oelie storage mechanism succh asswarm and IPFs a disiplices communication system such as a whisperand ansystem will we also have been adding other other stack. So en is one of them as Namindisvise naming and in the new future. Gan I'd even T,surprise, Vido, stack and and state channels, and things like that yeah I noticed there was actually ypfastreaming was recently on a NSEGARATE. It that's pretty cool Um. No,that's awesome, and you know honestly, when I look at look at this kind ofreminds me back of the day when I was doing like PHP socked. I need to use likecodigniter and stuff like that to actually get an application that wouldinterface with a standard stack of Stanard, lampstack stuff and there'sthere's a whole nother stack like you calld it. The web three stack that thapeople just need quick and easy integration with they don't necessarilyneed to know the guts of every thing. I think it's great that you're doing thatUm. So what go ahead right? I was just going to hade thatand we di try to make it flexible for for more advicive, ocersATS, also very externally easy for Newlevol Preson. We had. We have anabstraction layer on purpose so that if the voker wants to switch fro sayswarm typfs, it's just a configration, it is to switch from. You know ApfasnolJus delit that and you put swarm and you don't need to change any cold inyour in your application, we'll just work yeah, that's exactly what theexperience has been like with me with most less open source frameworks, kindof go that route, and I think it's great that were Finll Ebark is finallysort of maturing. In that space I will will full full disclosure I gave itgave it a try Um last time it was many months ago and Ikept running into a couple F issues, but I hear the three point: Two asquite resolved and getting very mature in the way that it actually handlesthings so I'll need to give it another crack 'cause most of the stuff, I'mbuildingis my own custom, stuff, um. So getting a teetral. His applicationgoing, has ben a chore each time. There's a new project. I have todevelop a whole new way of deploying and M managing everything, because Ican't use the code from the previous projects Um, for you know, contractreasons, but Um yeah. I I think that's great. I think one of the things that hthat interests me most is th the way that it helps with the deployment,meaning that it doesn't have a built in mechanism for dealing with and managingthe test networks, private networks and then all the way launching to thepublic network. It does yes, it s, can suppolso had areally cool Ui for for just how all the services are run, and I thought thatwas just very neat yeah. We have this dashboard thatpeople really really love. We. We got a lot of good food back about about that.Dushport ink eenyoeven more so that the nextversion should it should have a even better dashport than ing the currentone, and he read about the contracts...

...that Um it's something that that theinbark teamactually feels. We we need to do BA commuicating. Is that the cont the contract configration? You describe a relationship between thecontracts and then inpark automatically takes Careith, deploying the contract,the corract the right way, and if something changes you just need tochange out configuration embarkle only deploy, what's actually necessary toreflect that Gra. That contract configration. That is u relationshipthat is sconfigure. Now, that's that's similar to what trufle Kinda does, butthe difference is that you have to do actual code to sort of say hey. This ishow my migrations work within Um depluying, these these contracts, istbasically web threecode m. What a you doing differently to model this,because many times I found that actually deplaying contracts throughthe trucfl framework is not as straightforward as it seems. It wouldhave been just based off what I would intutively feel on my head Um. I don'tfeel like. I need to write all that code just to get my contracts up,tested, verified, Etcetea, etceer, a lot of it's pretty much US standard input standard out, but did it work? Okay, good um? What what kind of stuff wereyou guys doing on the configuration and to make it more streamlind and simplefor people to deploy applications so yeah in trawfuly needs pretty mucheverythingeed to be declired explicitly and imbecting, somemore implicit approach and any atheoption to be more explicit if you,if you willing to, but we found that for ninety nine percent of the casesand migrations are not really neiter at all. All People Wanti Israead to declarewhat contract they have. Other contracts are related a and, when a part, that's typicallydone, because when you specify the contract argumentstypically youwant to t t eaddress of another contract as an Argetipalcindicates t that those contracts are dependent on on each other. So when you,when a argument, you just need to put say dollar sign, the name of the othercontract and impartwill automatically know that. Okay, I need to deployed oute contract. First need to take that O, dress and thataddress will be theargument for for this other contract Su automatically figures it out. Just because you have referce it'll mapout the the oltimal tree of of deploying these things and go okay,there's dependencies here to pendency's here, defendces there, which also helpswhen you're designing these contracts, especially if there's ID naogrationwith thembark to say, Hey, look: you've got a loop topendency. This won't evenfricking work like yeah T, at's, that's pretty that's pretty nice or you need to resolve it some way bynot declaring this necessary on the actual launch of the contract onAndependency until after they're all launched or something like that, and then you have other options. Youcan say you can in thre point two. For example, you can there's a delector for each contractthat you can choose to deploy or not based on some condition which can becalling an existing contract. You you can well. You can of coursedecide what it comes to deploy to you. Can you can define a set of commands torun on the deploy of each contract, which could be some ser oup orsomething on this to be done when the contrehers deployed and you can run abunch of actions after the itire contracts deploy? And we found thatthat works really well for the vast majority of projects, I don't want to say all projects.'cause, Madame ight, be some one other that I can see that maybe this manyof is somewow limited, but all theproces were seen it. Ithis fits pretty...

...well and and when Ho put side by side aTrofl mibrations with this kind of Config, the cofigus way morestraightforward, Wasier to understand and work with as fatastic and and I think th th. Thething to keep in mind here is a truffle really just focuses on te plying thecontract so you're going to build a stanalone application and in it youmight include trufle and your contracts and then include yourplyme mechanismsand say in say using javascript M, no jeous, you would uh you would inyour, like. I don't know package a jsn or your Yan file. youwould define ascript which, which says: Hey Hereis, how I deploy the contract, so so hepulls down your repo. They can employ their own version of the contracts thatway, but there's no real pipelane. There there's no real way to get from a from Um. You know the the thecontract to the actual Ui Um. One of the things I ran into that was kind ofdifficult was I had to constantly copy over things like artifacts Um from fromtruffle? What do you do in your framework to make the ABI accessible tothe application right? So we automatically Generat theapplication with th the BIS already initialize Ho othe contracts areareinitialized. With that that's approach we take. We also generate s separately, Jason Files for eachcontract. In case someone wants to take that that output in and just use it ina different way outside of the embark parkline. But but that's eetiallyThewatyou woul take is that Genera, the tap already would all the contracts sort of available, so you just need torequire them, and so, if you have contract, call, simple storage and andthat contract t employs, then in your Ajat, you just do import simple storefrom imbark contract and, and you have th the simple storage um contract, Oljwhich Wuld t be a wet treeg as one point of old judg. So that leads me to the kind of a problem thatAv runn into is when I'm developing this stuff. I'm actually alsosimultaneously doing some extra bug testing work on n, the smart contracts.I mean the smart contracts aren't staying alone, especially if you'redeveloping a desetial application. Your smore contracts are part of theapplication. You need to bug test them along with the application. Sometimesyou find quirks that you need to adjust just because user experience changes orsomething like that when you redeploy a contract, is it automatically update inthe require and does D es? Is there any sort of versioning kept so that if youneed to roll back to a previous version, you would know what that Wu ye it so it does it does a file of Lofavilble for the user is called cypocally named J chains, Ot Jason, butit can be named or odevoper once H, t in this file it tracks for each bookchain where each contract is and takes intocount the arguments of the contract, Tixinto cont bite code as well as t thechain itself, among other factors, so meaning that if you so, if you modifycontracts and that doesn't result in any actual change, so let's say: If youRenain, Loo virable, the bitcle will will be the same. In that case, embarkwill will detact, okay change a contract compals, but it's actuallynothing changed. Forinebh in watching PRONACTIC, O Yo want not to employ, butif the TAXTHR is a change, I will deploy it and, if there's any sort of relationship. Soif there's another contract that it's depend on the contract that you justchange, then eoall deploy that contract too. So it's quite smart in that regardand then o can also configure this by environment, so typically developmentenvironment.

You would have a change Jason. That isnot ing source, not source control. It's just for you and then you mighthave changed Jason that is Cotrigere for Al Er environment. So when you workin a poget with other divolopers, they can also take advanture of thisspeecmeaning. If Theyre conrected the same provateen as you or the orminet oror a Testna, then- and they do a change, then you know they will see that actually, Michael Engrady did this change.Embarked Olredy, tetax it nothing changes Disney to read the employer. OhWow, okay, that's very cool! So how do you make that connection between theother developers? What is the thing? That's actually finding them togetherso that they know of each other's changes. Soso right now Ho this might change in the new future.But right now it's it's just a track. Ind Fil, which wecall change. Things are Chasen t that follows referring to set a file inputsin source control and an can keep track. Got You S. IT'S AL o Tho toget, for instance, okay. I Tur all right, but I got more questions. Youamsure you do, but I havet been able to speak in the past FIF teen minutes. I was curious, like there's. Creatingtosentialized applications is really hard. There's a lot of there's a lot tothe seck tat. I what people typically get introduced to this the space theygo through and look up to torels online and it's like hey, is say to make asmart contract or to say you do certain things if smart contracts and so on andso forth, but like there's, not a lot of really good detorials forthe walkingyo through the entire stack going, including other technologies likedisenty, storage and whisper. How are you, how are you facilitating like people, learning the entire thing orlike what's difficult and your experience building something like anbark that enables the entire thing and th you get user feedback that maybedoesn't understand, half of it. Coters can't rake rih, yea, th t that'sa really ver question and and Andif we struggle with a bit, and it'sonly we're were we not. We need to do abouter job because Inbark, you know, if you seelocommentation it pretty much assumed you know solidity, you pretty muchassumes you know whyprgs and it just seems you understand. OblowchainTechnology Works, Oh and they maxe a lot of assumptions and and where a worthat we're looking into on o ways to minimize that somehow butyeah it is. It is a bit of issue for newcomers. 'cause, there's such a you know learning curve. That is justas sum I think it's his hum as well 'cause. So many volkers I've been in this spacefor so long and we see we sow things evolved that we don't even realize thatOll much things have changed because we just took it in small in smalal piecesthere during this last three years, but someody is coming in now yeah, it'sit's a huge, a drinker, there's, no, really good resources that I didn't gothrough the whole Tik. It must be with a painful process and yeah, we'll lookat ways, maybe to include specifically wettregastitorials intmentation, maybe some solinity crashcal ors just to bridge that t gap a bit. Well,I mean honestly you, your system is set up so well, especially with a dashboardthat it seems to me like taking putorials on how to use your systemalong with tutoriols on how to how to actually you know, do some of thisstuff. One of the things that I that I really liked when it comes tolike this whole education side of things, was these cryptiz hobbies. Um Yeah. That kind of methodology got alot of guys that I know up to speed...

...on what is solity just the basics of it.What are t you know some of the more fundamental terminology and justsolidity an I could apply to all these other technologies as well and Um. Ireally feel like there's course dead on, like there's thres, there's a needthere for that. So this could be its own desentralizea that comes bunbledwith mbark crane work. You know just an idea, but definitely cool yeahY. absolutely I mean Thi decational part, it's it's something we're veryseriously looking at and looking ways for improveent and games like cryptils zombies andthose other games that also pretty much almost like dodges anddrages style and and that yeah looked like very fond, a very funway to to get people intoeteriment, an learning the basics. Also there this other se, we'veinterviewed quite a few of the security frameworks. For some reason, we went olike a security rant over the past couple wees and they all have like theyall kind of m. try and target specific part of the pipeline for looking forVulnenar abilities with smart contracts. Have you looked into anyof Hese in hisplatforms for like, including into the build process of deploying smartcontracts to see like were scandard like vulnear bilidies Li like Ranchessebugs or things like that? I eayo looked anything yeah. We have so one challege kind of a that. Larestpools are in Poton and Welikein t e job script exesystem. So a lot of it Pysicaly ngolfs Co, callingfrom gast the coment line. It's it's so we're Lookingat, wasting tograte Tisusing plug an and in barkesn bark has a a very powerful UM plugging system. YoO can extend it to to to to liking, and so we've been looking at at integratingthis sort of the sort of tools. But I I look. I look at someone thenrecently an it was not entirely clear to me. I they could really benefit onpluggings or not because a lot of it things to be divolopersjust call directly ono on referring some confact tiles and and cn somenotes, Ou we're still looking at it. It's not l clear to me, intevision witheparkment be beneficial or not, but yeah ideal. We waitintreadin a way thatas soon as the contract deploys it it, it runs. It Rans that kind of test- andjust says Oh yeah, YEA Habsecurityu, here Ecurty shother, but it tels like I think it was likeMetra Yeah Le Er look now. Yeah does look more like too that that you are alot more like itrate like right, you try different staffs. You try tofind flaws. This not exactly something Um automatic. Not yet and that's why it would be veryinteresting if there was some sort of like that was able to be integratedinto the pipeline Um, so I had to play a contract and I automatically do amethro audit on it, throwing alerts and warnings to a log file and reportingthem to the screen. So I could go ohlook I VREINTRESB. Let me fix US M,that's that's kind of like you know, p part of the whole thing is t it Um,you're, building a framework and that that to me includes the whole, like flexibility of not only that B, youshould be independent of those kind of auditing tools. So if you want to gowith Anithrol, that's fine if somebody comes out with someon better itshouldn't matter, and I think your design approach really really works.Well for that, so I look forward to seeing kindof how you integratesecurity practices into the pipepine in the future 'cause. I kind of feel likeit's inevitable progression for what you're doing Um. So I guess uh,...

I I I I still have a ton of quashescore you mind. If I keep going et e, get one em, Roa, quick before you poerYo, on a ramp, let's see so what has been? How do Iwant to put this once again doing the stuff is hard Um.Where do you see the largest across the entire space like what's lacking themost for developers and tooling, around building secure, tosentralizeapplications? What needs to be built that Um is keeping people from frommaking the same mistakes they've been all over the place or ereusing codethat doesn't need to be reused or not using code. That needs to be reuse like.What would you say is: is the largest gaping whole of a problem and to day'secosystem writ it's a great questionyeah. I th, Ithink. Unfortunately, the biggest gap is is really knowledge. porsible. Ithink it's just not being a wer of the possible security issues. Ane Itwantressy bugs can be versy to do Um. I I, I think think that's. First of all,that's that's the big one more than than tools themselves, because even if we have the tools, ifthat's missing, it's sort of a shor stoper ther do, I think, that's better teboggingtools. That's also S. that's also stillmissing ther Haes a lot of improvements recently in the last year, but we stillcan do a lot no more and this reson tools I came up likemutually. They definitely help a lot too, but but I'll say actal knowledge it is. It is one of the big. I thinkthat's a big issue, so you you had? U So Awas, just Le Yo,no of T, I'm an earlyearly early attempted user of embark. I don't knowif I was using a stable or release or not. There was a simulated block chainthat was in the system. Um. I don't know. If that's still there are youusing a certain test, R pc or is there some sort? Are you agnostic to that orh? How does how do how do you test this stuff? You know you don't want it toploy out. Even a private chain is sometimes just not rapid enough. What e?What is the? What is the methodology for testing roo for testing itself Wa the VN for F for the normal development, when doingme mart run our profits? Right now is. Is Ton Giteriu, however, so in the old days we're runningGoterian with Wecalle like a minuscript, so that mightt spert would wouldactivate the minor butt would not mind e would actually monitor fortransactions and Wull only mind when ther was pentransactions and also wouldmind a minimal to a minimal amonth to achieve a certain ballance. This day westill support that 'cause people like to use that for propae chains whenthey're Shiing, something with a colleague and and of course they dontwanttcoter, the computer on one hundred percent and but weare preference to usethe monesmen's dit mode o of Gretrm and that's a proof of authority is notproof of work. So it's really really fast and we have profits for that,because you're also developing on a real book chaing on Realivm- and I Ihad I got countless complaints about yeah I I was working in SRBC and then Iswitched to garden. It it' all broke and so yeah we're we're not veaking on usingSimar W, don't rely, encourage it. We do weust for began purposes because fortested is really conveniente special P, a CI, but for the Vop we prefer a RentnEteme, MoD and historically embarkwas...

...introduced to fors testing tools. For for this, in Jelscran, for for aterm at beginning, were using python. whowas going to t was bias on. PIVM was KINDOF like a weird python work inJobscrip Soiwas, like a big act with Imad work, the not terwords, often that was there- was Tust RPCPointon, which was sort of soundting similar to that then it turned yes, Vinn came out andthat when that came out, I I I develope Um w well similar best on top of thatcalled attressing. So so that was, there was a Jo scrup job scriptsimila based on Tengsvm and liteon. That gotforked into TNGS TSRPC, and now it's called GNHUSH. So that's kindf like thewhole Istory of it a but we we we not reaing on th, ms though, because ca they can cause all visues. If we'retrying to to develop it's not a real booktin. I know that exact problem Il IW al the play on the test RPC. It would get clear to pass all my test cases andthen I deployed my private network and for some reason it wouldn't work, andit would blow my mind. It was like everything's gon figured the same.Everything looks the same: that's different here, Um and yeah. I can'tremember what the exact arras were each time, but it was. It was alwayssomething quirky and you know that's the space. The state of this face rightnow. It's kind of Qort Sik. We can all relate to that yeah. So I thin. I thinkit's great that you're not supporting y. You really don't want to use. You knowtest our PCS, because I agree if you can use the same client that you'regoing to be using in in production. You you're you stabilized every or notclient, but you know protocol clients, kind of Attachen some degree. I meanthere's differences between saparity and and Geath. Obviously, but H,there's a you know: Using the same sort of system, same sort of block chameprotocol, then you're, you know you're better off as a Develor, so Um. The the next question I have isdiployment you're deploying these dafts. Where are they deployed to? Can youdeploy them to IPFs, and can you Crete a standalon version in the APP thatruns um like an electron or something like? Isthere any? How? How do you handle deployment so you've got thosecontracts employed? But how do you do play the Dack? Can you deploy to IPFsand you'd, employ n an electronap and then distributed as an executble likehow do you yeah so the this is actually it's eectially an upload so because theDAP is is always servilus th servalis application, clinsize application, then you can just oflowitto something likeapfs and Yo will just we'll just work, and so in the Barke ov this option youcan do embark uload and if you have AP PAS confegure or swarm configured,we'll just take the the dat that was generated and and just uploded there.So then other users can can access it yeah and with? U Three Point: Twoyou've introduced quite a bit of? U Like Pi Planning with webpack s. How?How difficult is I dican figure redpack so that you could compile this down tolike a nice single file to upload right so yeah in Prevous Verson, webark, I mean one of the isshoes we have is that embark at Ad Asen had his own pipe wineand that's really great for for beginners, but then for more advincedusers. They were not that happy about...

...it because they wanted to do say,optimization or they want to use the wappack file for their own purposes. So Yeah Otre point two: We revent the pipeline a bit we adte Tjak and Jack and justinjack the Webpike file and then customize it the way they want, but EFOweve put a lot of options that are presing to create what you would expectin something like creat to react up from from Frichbork, and with this we support to Mo wesupport that a development mode which generates source maps. Another thing Iwas missing before an nots available or o can oryou can build in productionmode, and if you do that, then it takes longer to build, of course, but wegenerates way smaller a way, smaller output. So it was something like fourtimes smaller. So it's so this way yeah yea the best o Bot,also beginners they can they don't need to worry about Wy pack. They can justit just works more advance users. They can then inject the webpack on figureif they want and andwe support, both source maps and much much morer built,which is also ideal ideal for disemplied storages right, like like aPR SS 'cause Thatit's more than o the better, also also mobile 'cause. A lot of this also came from the needto have lined depts on broses such asstatus. So I notice that you're supportingVhiper, which actually is a language, I'm still pretty excited about, buthaven't really had an opportunity, really used all that much Um howdid.That support go. How D that, how doe since you're abstricting everything way?Was it a big deal to a support viper? Was it farly straightforward and doesit impact your dependency mapping at all and how to sat how's yourexperience with like biper Ben Right so with because in Barkas thisplugging system?It's it's actually super super simple to to add more compilers to it, Um j, it it. She becomes really a smallextension that you just rester the type of the F the fall type. And then youpointed a Oto, the compal function and it has to return a specific object andas as long as you can do, that you can jureturn an objectate that as Abi Vite,cold and a few other properties, then you can have any compoller. So wesupport Lucus IP. We support us of bamboo Atho, that's in that's inseparately, in in in Te Plugan, so it wasn't that big deals to supportit actually was really pre straightforward. We had is that, because it's in very early stages, alot of things can break easily aalit Tis version th. We had to update thatto be compatible with litesversion of Viper and we still have stall limitations like it doesn't. As far as I know, at least lest I checkit doesn't really generatle say, source maps and things like that. We could usefor thing like calld coverage, for exampleOrr debugging, so it's ill very early stages. So I think Ihin, I think,support for it in the Bork was actually quite easy, but in practiced to toactually use a day today, still in early stages, but SSINC it. Since we, like you, knowin Newbork, we like alternatives, we like that devolopershave choice, they're, not stuck with some particular technology or in thiscase of particular programming, Lan language. We thought it was importantto had support to it out of the to the box, as so Colecean exte plug in, butwe opted to make n any term plagin, but just samphasize that yeah you don'tneed to Holl usoliity. If Yo an you can...

...use, viber Yo can use it even together.withtiliity you have that choice. So that's that t at kind of briangs meto another question. I've had when, when developing these frameworks,indcance, I haven't had the opportunity to speak to many framework developersin general, and I'm not just talking about these sentralized applicationframeworks just frameworks in general when you're designing a framework,there's a kind of responsibility to be agnostic to the user and to the stuffthe user is using. So you know if you include Viper and embarks really takenoff than that's sort of like almost like an implicit endorsement of Iper.Isn't it since it's actually included as part ofthe main package m? How do you feel about yourresponsibility for cureating Um Technologies, as they are integratedinto main main parts on which, rather that there' just be a community builtup that can support things using the plugins that are alreadyavailable R, the pluging system that is already available? What I? What is yourbalancing act between this two approaches? Yeah? So right now, if we see Otechnologis usuaal enough to to Attis, doPrototogon, we we do include it. Ideally as it is, as you said, devolper scs just average, the the plugging system and Integreto ontechnologies, things like say storgy come to mind.For example, they could easily be integrated with embark using thepluging system. TNG was still lacking a communityaround this plugins, and I I think a lot of it is due to a lot of improvements that need to bedone in the commentation, and we also need to commake it better. What workcan actually do so? I I I often talk to people who know about Im bark, but then,when I tell them what I work can actually do the they'r a bit surprised-and that tells me that we don't do a good job, w a good enough job tocommicate what the frameer connect an actually do, and so so to so again, if there was a committee, aOun, the plugins. That would be ideally a do be th, ideal scenar, but that'snot the case right now, so allo attack. We need to add ourselves, and you havea good point about about the endorsement and yeah. I I guess yeah. If we included by defaulting apramwork yeah, I could be seen a sort of an endorsement ar not you identic that true too toomuch I mean R DEBELAMEA ter osisten too hy. Can'tyou be excited about something and added onto the igur building. I mean II feel like it's it's it's not that big a deal based on where we are in thisspace. It's just you're giving people options to use new technologies thatthey're probably also excited about and in the process of doing that, you'rehelping the development outthat of that technology, because you're givingpeople access to it, which e usually exposes bugs, which allows people toreport things and the majority of people who are using something likeimbark, have a really good idea on how to do those types of things and it's atmy opinion, it's it's a boost of the entirecosystem versus a apinionatedinclusion of technology versus another, and that's exactly what I'm talkingabout opinionated. So when I bring this up, I'm talking about integrating itinto the cort. Now I mentioned that there is a pluging system Wi end andyou our mentioned that developers could develop their own plug ins for embark.But when embark starts developing the plugins for other applications, that'swhen it becomes kind of a little different beast now, they're in controlover the H. The way that this third party application, ISS separatefrom embarker Thi, stird party tool, innerfaces with embarkd, so, forinstance, Um. We talked earlier about...

...mithral integration, ok m! That is acosensus product and m. You know if Mitrel were to be bydefault. Integrated into embark and embark was y. You know leading codingframework now mythrol is the leading security framework Um, which is notcompetitive and also it removes it puts in injects ENBART'svoice into the methral development process, meaning that they are the onesactually developing the plug in for Methrel. It would be better. The otherway around that Um embark has a hook that a security framework can develop aspecific plug in for, and that would enable them to smoothly integrate withthe embarked framework and then I' also lowers their development caus. Butoverall I was just making a simple comment about how the control of framework is actuallythe control of an opinion umand. I see a certain level F personalresponsibility in framework developers to remain as agnostic as possible totools that are outside of their direct scope, but that is just an opinion, andthat is me soap boxing, so tell me to shut up. I would agree with a lot ofthat, but also I don't really care like at this point. In the game M, I wantfunctionality over choosing, visit or worrying about choosing CITA TOT foresif it works and it helps developers get better coat out. I don't Lily CareWho's, doing it and maybe lener not on the line. I meankeeping that in your head and making sure you're not playin. I favor itsscranted. It is a status product, so status Toel, something I'd. Imagine itwould get included in Ebark, but is it okay with a secured example? I considerthat being a thing, because that's a that's a horizon, UM developmenttechnology, that's wrought with a lot of money and a lot of competition foridentity frameworks. W You, Havebe kinsre would conset right. I meanconcesses when they develop Anon to their first priorities, to interviedwith your own tools, and everything else is secondary to that and that that can be also a challengeto to external external tools. Alta consensus that will pretty muchhave to play catchup because developmmertual er, first Paortis actal,Workin wit, trofl N everyything else is, is secondary. So those kind of sort of confes of interest do exist inThi space already. I think it's a very good point. You youbring them something. We should kinda worry about. Secon, Jo con Ye. Thething I wantto t bring out cor. You say you don't care. I want to tell you inmy experience and I'm struggling. It's like one of those things you Bil anintuition for, but you can't remember the exact reason why you have thatintuition, but in in the eighteen years iave been in this space early decisionslike this tend to have long term consequences and so asking thesesort ofquestions. What is our philosophy on how we support their partytechnologiesis a very meaningful question in day one once it starts getting traction. Ofcourse. I consider that to be one everything else I zero. I ever thinkbefore. That is zero s you're to one. So what you're hat one? It's it's thatothat that personal philosophy of development. How are we going tosupport other technologies? Is it going to be through encouraging them to buildtheir own plug ins, interacting with them directly but theare in control ofit? Are we going to directly support it? Aa Certain Java models? Um? Are we going to? Are we going to you know? How easy arewe going to make this for ourselves and how easy are we gong to make this forthe community? That's really the opinion question. You know and I thinkit's an important philosophy quit philosophical question. When developingaur framework, like this yeah Ir, we do try to make everythingplug in paste, so even the plugans that...

...are internal. You can override themcompletely. So, let's save Ti Pfas the internal ofy spogin was not too youwere liking. You couldinclude a plug. An that was is completely overiahted and yeah it's. So it's true that we we we do have some difficult plugins andwhich I guess in a way does Um yeah. It does emphacize some techonolgyoverdoter Os, not ceessarily intentional, but yeah I get and it's early into HorTacori's point. It is early and there's limited options and owants to gaintrash and you want to get on boarding. So the t there thre' There's definitelya ballassing aut there I get it like. You know. You know they're, O ii, I to much. Youknow identity, I dene! It is a great case. Do you want to support you port m?You know okay. Well, do we own the uport plug in or does you port on theUPORT PLUGIN? You know this is kind of like Um, just just simple question. Iwas kind of curious to the answer. For it it seems like you're kind of leaningin the same direction. Amwert it seems like it's is ipportant question to ask,but there's really no strong one case. That's all answer so cool, so M. Whati, Thas, interesting toyou, cetialize application you'veseen so far, built on framework other thanstatus ohthe, most interesting hm. That'sthat's! Actually Usable Doi esl the fin you ets go with. Let'sgo with move eating over all and then what's your most interested a usableone, I mean I for the reasons I explainearly H, yeah a Tais, something I'm superexcited ha boat. That's I mean that's definitely I mean thats Orthetione ofthe reason I I came into the space I entered the space and I'm er excited to see that life nothe one is. Is the macerdolls O to die, because just a fewyears ago that looked like a Goa like a dream, a remember the make makeeur guys enthey were just starting with just two people and the whole thing lookedreally really ambitious. So to see that live such a complex project, justfantastic, and I I generalllike like for me the most useful applicationsthat are not necessarily related to to money. You know like I, I feelthat's for me. That's the least interesting part of the thientor space.So when it's OC sorry amen a preach, it amen, preach it.Sorry, yeah INEA, I totl agree Yehso Yeah. When I see those type ofapplication that lokactually the Diet is money to be onest, but but it feels like more it's much morecomplexisin e n. This is is Haes, nothing to do with money, and it's it'ssomething I could actually be useful for for everyday people and Um and Y H. I mean I look. I look for notto your future that we actually own our data. That's that'swhat I really hope. Ow Re hope that this disamplie systems allow us to to create a some sort of seson that weactually own our data and and instead of companies owning and storing our data. We justgive the permission to access it, but they can they don't really own it. Andif we do, if we do want to geve her permission to actually store that data,then he has to be a very, very explicit process that makes it clear that yeah,okay, this guy, is a access to r everything that you you own and return,ofl that it's free because you'regetting advertising and thingslike that nothat they kind of Um...

...y, you arg son, O Lookin, to the futureof how all this works. It's like that's why we all got Ino thes SPACEIS,because not because it's there now it's because we are on the frontier ofsomething that we believe is to be greater then, and what things are thanwhat they are right. Now we see what's coming on the horizon and we see thebirds flying and we know that when there's birds flying there must becarryin that must be dead out there and we're going to go forg it again. I'mrambling, sorry, but you know that's that's how early hunters work. Theywould see the birds flying and that's how they knew that they would go tothat. Sorry, that's a weird analogy, but the point is that we see what'scoming. We know that this is happening. Yeah Yeahi just went to Jupiter for a secondanyway Um, the the Um, the the interesting things that arecoming out deal with things like plasmachanes and Um, side channels,general state channels and Um, H and Um, and things like the beaconchain where it's got one chain, but every there's many different charge andyou might need to focus on on for Dela Shard and, that's just didn't, say theethereum spates, although there are analogous things in other spaces andthat also so there's these technologies and then there's also the possibilitythat there are other consensus, truth mechanisms which mayeclipse atheorium in the future. Um things like could den definity and nowavalanche are all looking in cosmos like there the're threthey're, alllooking really like interesting ways of handling this truth. H, trustmechanisms in a desetiralized trustless way you know like so embark is a huge code base that isagnostic to which atheory of network you're using. But what kind ofmigration do you think it will take? What kind of effort would it take ifyou wanted to use it on, say a different type of chain? A differentprotocol entirely? Is that even possible with your current, and is thatsomething that's on the Roadmat O, because all those shames that ont shit,fom tooling so you're going to need something, that's going to help themout yeah? So so it is actually on the road map,because we want to be as ignotic as possible and we also like good, coldand and Bingan Mosiclso helps having a clean the clean the couple e cod base. So weplan to support things like like tendermen for N, for instance, andright now, the way it is set up- and this is for historical reasons- 'causecausibark was primarily a iterium framework- is not really possible'cause it. That part is Pretty Much Rey couple to WAB R GS, andto andto, a temway of doing things, and we plans to abstract that much more. So in the coldreven. We just call that Blok chain we ony ha coli, tms o. We just call thebloc chain stack, Wer, the concesses mechanism, but the way it is right now, yeah, youcan't really usin park with, say, Tenerment or won on bit con orsomething like that, and we would plan to we plan to introduce Taoe teabstruction, so that's possible and wee starting first with making sure we support other clients,well Orwe, deturn space and afterwards well make sure that to extract whattreags also so, people can use the O. can you say Etorgs and things like that and once that, once that that is done,it would be much more easy to. It would be easier to support, saythings like coungerment or Odet aldites like mcadono, and things like that. So you got into this. You built thisframework to help build better DAPPS,...

...faster and cleaner and easier I's TAT, a necessity not just for thecommunity but F yourself yeah. What are your aspirations to use the embarkedframework? So well, it's also it's. I also di ittoo, because I I I believe that if we decrease the entry of barrier and wemake we make it easier to build complex things, the the bar is raised on whatyou can do right and so, for example, we have this very popular workshop,which is a hot to do in this viced twittere, and it's really rery easy todo. Ttie, twiter, with with n work and and that's something that just a fewyears ago, would be really really complicated. But by making such a thing that used tobe complicating very, very easy, then it traces abard on what dapts can cando so a lot of that we focus on on that's why we focus o much onsupporting different technologies and Maki them. Really really that simple touse, because we want to see batter depts, we want us to se the spaceadvanced you're, asking by my sum, myinspirations, I I so originally I want to create a disentrize market, that'swha what I wantd to Bueld and but then I got so busy withhimparkin and thatpretty much takes all my time and devoloper to othe topoc Ros too, suchas the as deboggers that I fo just that time. For anything else. I Ge some persens on the side, likesaticifize rabits M, with some EXPR ometation withrepetition, different repertitions mechanisms, but I dont Mae a particlarDapm, I'm working on just because in bartestics pretty much all all of mymy attention en you know. I just briefly want to touch onsomething, since you are the moderator of f trader: Hey Au, a moderator,vestrator Neasa, implemented a point system, um ew the implement of this community.This community sort of carmerating point system a reward system. Is thatbuilt in a decentralized way? Or is that just still kind of a centralized?You Know Red Atpot are youfering to to the? I don't know.Referring so cause, I, though you were referring to the deapening, which islike a project that we had to create a Ers dosm yeah. It's a recentdevelopment wer. You have you're, basically awording points to people,and this to me sounds like a great way to just you know: you know eat you noweat what you make Um and it would have been a great de centralized sort ofsystem. Is this it esecialized system, or you know, how did you guys Buil Buil,I'm actually not fully on part it? The this latest one I no something we wereworking early last year. was we working in this token and that woul by Bein,the centralize and that's kind on my on hold for SA? I think next year and this token w would iave beenwhatever in ineterin token, that you could just it canalmost do pretty much likeoutvotes and donvolds, but would be Onitarim and a, and you would see alsoyou would see rather differently, depending of how much tokens thatperson had and Bitog. I mean reputation, reputation, Andeand! That repetitionpoints would were a son based on the existing Carmo or on the sub rabbit oeusers 'cause, usually Bot accants. You know I can buy a BOT account, for, Idon't know wit, let's say ten thouscarmo. It doesn't really mean muchyetor people can have a lot of Karma...

...just by posting n, insomen, silly sillysobs, but to actually have a lot of Carme on on the trm subradit on the atrade o rite. That's actually quite part, and we did some experience thatwe we took the moint of the reputation forspecific users in Inid Oradet and some cotroversial posts ly. When it was backat the do it was lar drammel we could see. There was a lot ofmanipulation, because a lot of a lot of people were clearly outside of thecommittee and it Wawen just coming into o just cose trouble, so we taugt Pbusdess to, and we have such a proelie that whenyou're connecting to to the system, it actually changes the order of thecommevents n anribit according to the reputation of the ofthe users, and this way idea you got Ta Betr. U Idea of whats real, what a Pope te count and onthat's awesome, see! That's that's fantastic out of that, and and that'sdone and do you centralize way or still just kind of a at F s instance skinning.It is in a disentalized way, lthough we had somenchallenges. So the firstchallenge is: was that Y Puri? I don't. I forgot not tha a mount of users, butwas a lot of users? Was I now talk about tons of thousands of Yusers toput all of those accounts in contract? Of course, it's not really doable wouldcost a lot. Also different transaction cost a lot. So we're not coming withthis solution. I think o originally actually was suggested by NicnickJohnson, which you bisically can just do a mircle tree, a Neve just a mircletree and and and everyoe ev everyone's balances.And then you can put it online ditoral entir tree and make a tool that peoplewhen they want Mlalaim the tokens they just generate their mircal proof, andthen they called the contract, woud themorco proof and they got the tokensthat are signed to them so that that's Thesolutionwa. We implementit andWereso taught to use that, for some community t to sort of like thecommites wo could make decisions almost like the doll on the sub and thatsomething were we're stall, INDF exprimenting experimenting with, and wit alsosot.You say aregone for that, but I he're going to challenge what are going. Isthat putting all those users n one go is not easy but lest, lest I I spoke toArogan go te, were they were taking to imflement the same system with this Ko like Amorcarout, so peoplecould do again morco proofs to to prove their part of that dough, and then theycould wat yeah. When I saw that as very cool,especially actually just gointo wait out there, I I I bought rate a fewsubredats and I actually wrote my anred I bot, so you can assign Carma to otherusers who had conversations with each other and they abide. You know if therewas a Cerai sufcision amount of evidence. They had a actualconversation. It would allow them to asside Carben to each other, and Ifound the same problem like you want to have your own individual, like KarmaSystem, and you know I h similar thought to you like we needto,decentralize red it and I felt, like you know, f trader being the proof ofconcept for how a sort of that that could come about avery early stage version of just assigning. You know carmitod anonymous identitiesas an early proof of how this wild kind of work is. Is His just intriguing tome. So I was just kindo seeing what kind of effort was gone in there Ausjust personally interesting, I. It is a very hard problem. Th? U Hthe repetition systems to do, especially if it's especially if it's supposed to be te,centralize and objective, and the keyword here is really objective. It'sreally really hard and all proposed...

I've seen they always have flows,because they can always fall into simpile attacks, and so one solution potentially can bestill decentralizes what a call subjective, repetition,repetition systems, meaning that you would see things differentlydepending on who you trust and the weakness I guess would just would justbe thire Youtrosso as long as you trust the right people thit s not really subject to to Sigols, but but then I think, philosophicalissue ot. That is, in my opinion, it's it's bubbles right it opinion bubblesin selection, bies AK really ran negor nambers or something like that. Sorry oald really make echo chambersand something like that. Yeah Yeah, I I think I think o yeah. That's the bigdisadvantage of subjective repetition systems, those echo chambers and that'salready a huge issue m yeah. So I think I think we can startto rap hars there are there any questions that Um? You were hoping we'd,ask you what we didn't get around to Noi can think of. No, I think. We've G AWESOME SI Howdopeople get started, withhem bark. How do they reach out to you? How do they learn more? So we are ye. We have O get a channel,it's thin, get er, it's a Gar Im Park,tatfromwork and warn the intar team is there n is hole, is ready to as her anyquestions divokers might have. The entirey team will also be a the STATUACATON and in prag coming Dix this next month and I walo bevobal for tointerract with a comedian yeah we're Qite extited actually to to meet peoplethat are using work and all tyouare using it and o. We can improve thatyeah Kini Kan excited to see if anybody can come up with like great plug ENS Um.That happened to be there alongside the hackathought. If hey want to work on creating things for status, eething,creat things for embark and just kind of I see any anybody that comes thathacathon and contributes to making something better that we doiscase as a win. In My bood yeah, I agree all right well, thankscarm, on a shell,appreciate your time and M Wi. You seen you and Progu. Yes, TI EAD fix for TCIGAETTES.

In-Stream Audio Search

NEW

Search across all episodes within this podcast

Episodes (108)