Tools Community Group Call #1 - near/dev/hub
Nothing is loaded from YouTube until you press play, and then without tracking cookies.
About this video
Meeting Timestamps: 00:00 Intro 01:04 Frol announces updates to NEAR Rust Toolchain 04:05 Andrey presents SourceScan and upcoming work 21:23 Michael presents bos-loader, how to use it, and how Pagoda uses it for their workflow 35:47 Guillermo presents the BOS VSCode extension and how to use it to develop BOS components locally 45:20 Guillermo gives a call to action for developers to contribute their help to the ecosystem! 48:07 Elliot shares his BOS workspace and tools he uses 51:15 Discussion 57:26 Wrap
Links to projects/repositories discussed in this meeting:
NEAR Rust Toolchain: github.com/near/borsh-rs https://github.com/near/near-workspac... github.com/near/cargo-near github.com/near/near-cli-rs
SourceScan: sourcescan.2bb.dev https://github.com/2BeBuilt/sourcesca...
BOS Loader: github.com/near/bos-loader
BOS VSCode: github.com/near/near-vscode
Join the NEAR Devtools Community Group: Telegram: t.me/NEAR_Tools_Community_Group
Learn about Developer Governance: Website: [neardevgov.org](http://neardevgov.org/) Twitter: / neardevgov
Join NEAR's community: Website: near.org Reddit: / nearprotocol Discord: near.chat Medium: / nearprotocol Blog: near.org/blog Twitter: / nearprotocol GitHub: github.com/near Dev Docs: docs.near.org Create a wallet: wallet.near.org/create Apps on NEAR: awesomenear.com Learn to Build On NEAR: near.university Grants & Funding: near.org/grants
#blockchaintechnology #FutureisNEAR #NEAR #nearprotocol
Transcript
8,264 wordsCaptions as YouTube publishes them, usually machine-generated, so product and people names can be misheard.
- 0:06
all right well thank you everybody for showing up for this uh first near developer tools Community call uh I'm Maxwell I work with the devil team at devhub and uh today we're going to be presenting um some stuff by Source scan and then talking about boss developer tools so just a few words on format you know this is a community call it's for the community anybody can kind of you know
- 0:38
shout out Buton have a discussion just don't be too disorderly please not really that worried about that uh and I'll be taking notes on this call and we will have the recording posted to YouTube so yeah um and with that I guess we'll just get right into it uh Vlad wanted to share some rust tools chain stuff to get us started yeah it would be just a quick update but it was massive push from the community
- 1:08
of Fellowship uh contributors uh from devhub and uh now we have borch 1.0 stable release published on chain almost we also have the pool requests ready for near core nearest DEC and many of the other tools uh ready so it was uh also pretty good uh um you know endtoend execution of the release we tested it well we we prepared everything for like uh Downstream dependencies and so they
- 1:45
don't need to bother with like knowing what what the breaking changes were there and uh yeah near Court was a very good testing suit for us um so it was it was great uh let me see if we have the contributors here uh yeah several of them uh but yeah they will share their updates maybe um we'll see and yeah well along with that we also have new release of near sand box near workspaces uh and carger so that is basically the the the suit for
- 2:22
development uh of smart contracts and uh near D KS is coming it's not there yet but uh 5.0 is definitely something that we're looking for and yeah well the usual one near the ks which was pretty like stable getting new releases uh almost daily uh with new features because it's uh well and this is something that I want to actually mention explicitly we have now all releases scripted and automated so thanks to release
- 3:00
uh please is a project that helped us to basically get all the uh things much smoother because It prepares the updates for every like uh commit to main It prepares as if it was a release a pull request and uh it's up to us to just click okay we want to should it to the release so all the project that I just mentioned already have this feature enabled so basically we will have very regular releases going forward which is massive I believe because for some of
- 3:36
the packages it was almost a year since last release so yeah with that uh out of the door I want to yeah invite uh others to speak and uh yeah share their cool stuff that's super awesome um great to hear about all those updates seems like everybody's pretty pretty stoked about all that so um yeah awesome uh I guess we'll get into it then so Andre I think is GNA start us off by presenting some uh work on Source scan yes uh hello everyone I'm Andre and
- 4:20
uh today I would like to show you our solution for Source quote verification for smart contracts on New York so here you can see our uh app in BOS to verify your smart contract first of all you need to press the source SC and go to the upload page here you need to input uh any uh GitHub repo that uh has rust smart contract code in it so for example let's uh get this hone near rust after that we would need to choose
- 4:55
the specific commit to import from uh then we would need to choose the entry point because one repo can have many entry points so for us contract uh it is cargo. tomal and for typescript contract it's the package Json uh so I'm choosing crust for the compilation then I will press generate key and then I would have uh the link uh for the Gateway uh for the source count outside of Boss because we're working right now with the access keys and boss uh does
- 5:34
not support that and here we can see that we are uh compiling uh this exact commit of this repo and upload and deploying it to uh my account agde so let's compile it uh depends on the size of the source code uh it compiles differently but but it it is averaging around 30 seconds to compile so we need to wait will it compile and also then deploy it immediately there yes it will comply compile and then it will deploy immediately and we would see it here in
- 6:22
near blocks what if there is compilation error excuse me what will happen if there is compilation error ah if there is a compilation error it will show us the compilation error nice and actually I think the compilation it was a compilation error something ah no sorry I I pressed the wrong we need to do this once again because it was a deploy button and I've accidentally closed it okay so uh let's choose it once again
- 7:02
uh let's generate the key go Gateway now we need to recompile it so in the background what is happening is that is it it is cloning this exact commit into a server compiling it and then returning you the wasm or so how is happening so it's creating the temp folder it's cloning the GI commit uh then uh it's compiling compiling it in the uh contract Builder uh container and then it Returns the wasm to the front end and as you can see I have the deploy uh button I will press it I will press
- 7:48
it first it will deploy it with the full access key that is stored in the browser and then I would be prompted to sign the transaction that contains all their uh arguments that will help mapping uh the verified contract with the actual uh source code so we need to sign the transaction then we can go to near blobs and we will update it as you can see here's the transaction deploy contract and here's
- 8:19
the set contract also we would need to check our hash of fasm right now and as you can see if we go here to contracts uh it was updated uh with uh new data so first of all we can see that it has the uh here is the link to GitHub commit we can open it and go to contract Source leap do RS and check the actual source code and also some Security checks for example it checks if the was code matches and I will show you how it
- 8:57
work right now so here I have the uh recompiled on local machine the same contract so let's uh deploy it where the CI uh and see what will happen nice live demo of near Cirus it's actually really good it's better than gs1 uh okay and as as you can see if we go to new blocks uh the code hash updated and if we go back to Source SC and update this page the vasm code mismatches and we can see that
- 9:41
contract is not approved now because uh the hash of wasm during the deploying transaction that is also stored here uh is Mis matches with what we have right now in near VM but uh this solution is user friendly but it has a lot of draw drawbacks because uh it is too centralized it relies too much on our server for compilation and also uh the huge drawback is the U full access Keys as uh some of near contracts are locked
- 10:20
since the start like critical contracts uh actually when they're getting deployed at the same time they're getting blocked and deleting all their access keys so it is it would be impossible to uh compile their them afterwards on uh the some on the different Source like tur for example that's why we uh redesigned the solution and came up with the new idea of how this could work so first of all the client uh Builds on his
- 10:50
local machine inside the uh container uh the wasn't C then he uh deploys it with CI to near VM then he goes to souran Boss application inputs the same stuff like repo and commit uh then uh the same uh everything the same happens but one key different is on the verification process uh the back end checks itself uh the vasm hash from the near VM and Compares it to what was compiled uh
- 11:29
and then uh if it matches it uses the source scan uh key to uh add the mapping entry itself to the contract and the contract getting added to the uh to the pool but we're not using any uh keys of the user and uh we are not relying that much on the compilation process on our server and in the end we would like I this would happen we would devel Vel this in the uh closest three months but
- 12:02
we think the whole development would take around six months and in the end it should look something like this so client uh builds it inside the uh container uh and during the compellation also the uh special meta for the contract is inserted into wasm and then he deploys this F to NVM and automatically our back end uh listens to uh the deploy transactions that has this met through the indexers of near and
- 12:34
when he finds one he uh do the same compilation process and compares the ASM hash from the near VM with what he compiled and then he has the entry uh and also today we uh we uh we did a new proposal on dev Hub and if you like what we are doing and you would like to help us you can like it or comment what is not clear in it uh and maybe bring new ideas so that's what that was it yeah thanks for calling out the drawbacks of the current approach and
- 13:17
the yeah updating the um proposal because we we had a lot of back and forth uh that is a reveal from behind the curtains uh specifically because of the this uh um concern of needing to share the full access key with third party service which is not uh that doesn't work for like most of the apps that you actually want to verify uh so there is a contradition there um but yeah I also encourage everybody to
- 13:50
review uh and post your attestations and comments uh to that proposal guess it's all about like Community it's not like two folks deciding on like how to proceed and so yeah Grill there and uh maybe ask questions here yeah J I see your question yeah I really like the the tool do you think there's any way in which this is actually sustainable in the in the in the long run because for example this could be very very useful
- 14:22
for one we have an initiative in which we want people to learn how to develop smart contracts and you know if we could just say like hey code here and now press this button and we're going to deploy it automatically for you that that's amazing but then an honest question is like do you think that this is sustainable in the long run like how much does it cost to to to to maintain it per month and Etc because that this
- 14:47
is an honest question in the sense that we had tools that were very interesting but when you have to maintain servers at some point someone has to pay it and at some point if someone does not pay it anymore the tool goes down and if your you know like tool was depending on a paid service that now no one is paying and no one wants to pay because you know everyone loves everyone loves free tools Until you realize that
- 15:09
the free tool is being paid by someone and then you know no one is maintaining it anymore so how how much do you think it cost and do you see do you think it is possible to actually transform it into a long time maintain Tool uh yes uh right now there are not a lot of developers on year so the costs right now it's hard to uh like to calculate but in the long run when there would be more deaths I think that we would come up with some more uh
- 15:46
with the better uh idea how we can uh compile this stuff not using the centralized server because yeah uh the centralization is always a bottleneck for blockchain so uh in the end I think uh uh it should be completely decentralized to keep it in the long run but right now uh while it is still maintain maintaining near is still maintaining it it depths I think it would be okay for such uh system to
- 16:18
work and it doesn't cost a lot of money to host such server because uh uh it actually doesn't require a lot of calculating yeah it doesn't require a lot of power yeah perfect thank you so much I saw somebody was about to ask something and then I lost who was right in the head oh go ahead yeah yeah it was I'm in a I'm sorry it's it's very hard to hear you it's very noisy maybe type it in in
- 17:12
the chat and we will read it sorry oh yeah so one one comment that I wanted also to add is that we we discussed that how to make this user experience better and it could be part of carger uh like tool that currently can do carger build carger ABI commands but there will be carger new carger deploy as well so with that in mind I think it will be like closing the loop uh for R Tech development and then I will jump on GS after that also would like to add
- 17:57
that the new solution uh would not cover the uh typescript contracts uh because it would only work with the contract builder for rust right now but it's not that like um technical limitation just like lack of implementation right yes it's lack of implementation and in the future of course we will add the container also for typescript culation as well it's because of the lack of ABI in
- 18:31
JavaScript no I think that's because there is no uh solution right now that is already implemented so yeah we would need to uh spend our time on it ourselves question to Andre uh Andre do you have any kind of written tutorial uh page for for the manipulations that you were doing on screen with with UI so that someone simple and not knowing what is happening can go through the steps and like replicate this simplest simplest scenario and understand uh what he's
- 19:21
doing uh yeah understand right now uh there is no uh tutorial but uh we are in the process of adding the gbook for the whole uh solution with the tutorials with the technical details and this stuff so it would be in the future also right now there is no uh gbook also want to read out loud the question in chats so the question to Andre if you accept contributions because the uh lud Mill that he was experimenting with
- 20:02
the plausible Solutions and uh uh wants to contribute and get in touch okay great uh you can write uh to my telegram uh myram uh we can connect and you can uh propose your ideas and we will uh think how to how it can help us with our solution all right awesome uh anybody else have any last questions for Andre uh sure the the whole code would be op open source for the back end the contract is open sourced with the verified code U yeah and the front end
- 20:51
is boss so it's by default open source okay thank you thank you everyone all right um well I suppose we'll uh move on to the boss developer tools now um so I think Michael are you there yep yeah I can go ahead and hop in okay cool uh I'll let you take it away you have any anything to put on your screen or yeah I'm going to be screen sharing all right cool uh whenever you're ready all
- 21:45
right cool uh so I'm just going to be giving a demo uh bossler today for anyone who's unfamiliar with it um and for those of you who don't know me uh my name is Michael I'm the engineering man manager of the boss web engine team at pagota and before uh joining this team I was an individual contributor on one of the teams working on the near or Gateway and uh the boss components that are used there so boss loader is a tool that stemmed out of our internal needs we had
- 22:18
a team of five to six react developers who were used to working in GitHub with standard Dev processes uh you know PRS local development things like that uh and as we started to develop boss components you know we were writing onto chain for all of our changes and using the web IDE um and uh this kind of just started as a little experimental side project which we then ended up really
- 22:43
enjoying the workflow for and so we shared it out to the community so this is the repository and I will drop a link in it uh in the chat for this as well and this tool is responsible for spinning up a local server which serves a set of component source files to be consumed by a Gateway uh so you can see your changes live as you're developing locally and it is meant to be used in tandem with boss CLI RS for managing uh
- 23:22
your component source so we can just go ahead and hop into demo so I picked one of these components in the featured section on near org so we're going to be looking at the NDC elections app cool uh so let's say we are the team responsible for building uh this app uh and this is deployed to the election.
- 24:11
NCT tools. near account we can install boss CLI RS and then we going to make a newer and use that CLI uh which offers a components functionality or downloading the components from a given account and I'm going to drop in that account that I just pulled to pull code from mainnet so that'll download and let's go ahead and open it up so here in uh our downloaded Source set or download component set we have a source folder that has all the
- 25:14
components under that account and let's look back at the application and see what we might want to change with it so uh I'm assuming this box over here is a subcomponent but I do not know the uh architecture of this application very well so I'm just going to do a search on the source code for this humans voted string to find that component and it is a subcomponent called statistics that isor can you zoom
- 25:54
in a little bit yeah sure is that a good level maybe once again once more oh perfect at least on my screen it works all right so uh we have this component and we want to make some local changes and see them reflected so if we had installed boss loader by going to the releases page of the boss loader repo and running this uh install script then we end up with a c command called boss loader and since I'm running this from the root I'm going to say I want to serve all of the
- 26:48
components in the source path as the account election. ndct tools. and what that says is when we're loading it up in the Gateway um all of these source files will be seen as being hosted under those that account and be able to override uh the rendering of those uh components so let's go ahead and run that and we see serving all the jsx files on uh at this URL back in the n.org Gateway uh you have to just know to do this uh if you're using
- 27:30
boss loader but there is a page on the gateway called flags and currently the only application flag for this Gateway is the boss loader URL that you might want to load components from locally paste in that URL and we will now get a banner letting us know that we are currently loading Lo local components uh from that address cool I'm going to go back to this page so now what we're actually seeing since I'm um rendering uh I'm serving that
- 28:11
entire account that I downloaded is all of the components here are being rendered from my local source code and we prove by that by making a change to this percentage that's being rendered currently it's showing one number after the after the decimal place and that's controlled by JavaScript to fixed call so let's swap that to two and save it and there's not hot reload you do have to uh refresh your
- 28:41
page but when you do you will see that we are now getting uh two fix of two decimal places and this is how the internal teams at Pagoda do basically all of our boss component uh uh development um at least on the uh we have a near Discovery components repo um which is uh that team that I was previously on uh where we host our boss components uh you might be familiar with like the decentralized interface guideline components uh they
- 29:14
live in here uh as well and this is the tool the process we generally use for developing those locally uh one other thing I want to call out is currently all of these components are being overridden but you do not necessarily have to do that uh say that we want everything else to be pulled from onchain except for this one component um it would be enough to only have that one component in your repo so let's kill this and
- 29:47
delete everything else this also a way that you can experiment with uh overriding components from other develop Vel opers if you just want to uh play with some components uh and uh test out some changes now if we serve again we reload this page everything else will be the standard version from onchain except for this one single component and that is the only one being served up by boss loader and the only
- 30:24
one that is being loaded in custom it's a very nice uh way to experiment uh in isolation uh yeah uh and if you are using this workflow where you are backing your components with GitHub uh and doing local development and PRS and things like that uh you most likely want to set up cicd for your deploy of compon components uh on chain and that can be done very easily by going to the boss CLI RS repo and there is a reusable workflow that you can take advantage of
- 31:08
uh where merges to main uh deploy to main net um and it's a it's a really nice and easy way to get started with a good process for collaborating with other developers that are familiar with GitHub nice cool uh this is only currently usable on.org uh as a Gateway because it is the only one which has the applications flag built in to uh fetch source code from uh the boss loader locally that being said the capability is built into the VM to override component source code so uh oh looks
- 31:48
like it's available on everything. dev too nice um it can be built into any Gateway you just got uh got to take the time to add in support for for passing uh for reaching out to the boss loader instance and passing that code into the VM U that's all I have for today uh let me know if you have any questions or feel free to hit me up on telegram separately uh so just out of curiosity what is the the bit of code that you have to add to the VM is that something that there's a repo for I could take a
- 32:22
look at uh so if you go to the boss loader um GitHub uh it calls out in the first paragraph the feature of the VM that's it's using which is called redirect map and it's basically just a JavaScript object that the VM uh accepts and it's an object of like the key is the component Source path and then the uh value is an object with a code in it uh so so really what the Gateway is doing is just the fetch out to boss loader and then dropping it into that prop of the
- 33:04
VM uh react widget cool gotcha thanks are improvements uh um planned for Boss loader there's not too much on our road map at the moment to be honest we do have a couple uh pieces of more advanced functionality which I didn't touch on such as um essentially our solution for environment variables and the ability to serve from multiple accounts at uh one time but for you know standard
- 33:40
development workflows it's pretty feature compete and you know anything else will just be determined by uh Advocates usage if more requests are submitted um do you plan to adopt uh typescript trip support or do you use it internally just just wondering uh we don't at the moment we actually have uh you're talking about uh typescript support for component code yeah yeah we uh we have a couple
- 34:11
discussions open about kind of the best approach for that uh in the long run so I think we're waiting to see where that lands uh before we decide how to build out support okay but you you remember the starter that I shared previously I do yeah yeah uh and I can link you as well to the to the discussions uh that we call out to that um yeah yeah we can follow up it on that separately yeah just just a reminder that there was a uh I created some prototype of typescript
- 34:45
support by basically U piping things together and uh um transpiling typescript components to JX component to to boss components and which is does not support the types and then deploying that code so but it creates this extra step of uh pre-processing and uh obviously it doesn't work uh nicely with boss uh loer because you need to recompile and serve it not from the regular SRC folder but
- 35:18
from the folder that is in build uh artifact folder um but yeah well it it it works pretty well but I'm yet to see uh if anybody's actually doing it um live but yeah just wondered and do we have the third topic Max indeed they do so continuing with tools that allow you to build on both let me share my screen because I want to show you I'm going to shame my entire screen I have no secrets for you people uh I want to show you another
- 36:02
tool that is the extension for the vs code so basically uh this tool also allows you to create both components locally and the whole idea is that now here in my vs code you know this is my just my vs code ID I have installed already the extension that is called the boss if we find it the near boss ID and what that adds is a couple of buttons in here like so a whole menu that has a
- 36:32
couple of buttons that allows you to log in and fetch your widgets fetch widgets from any account and also add an access key so you can try the widgets and the whole idea is that for example like here I'm just showing like the folder simpler. near but for example I can fetch the accounts from near let's hit enter and see if this live this live demo Works yes so for example here I have all of the components of the near
- 36:58
account and I can watch any of them like I can open them and see see their code uh but now for this demo I'm just GNA since I already prepared the other Pages I'm going to focus on simpler. near and a component that uh is basically a ripoff of Pikes PE I don't know if you know that service but it's very good and this is just like a fake version of that one and you can see that I can see the code and then just click a button and preview the widget with in the vs code extension I can also for example just
- 37:29
come here and where it says let's work together say let's work unite because why not and also it does not hot reload that's not a bug that's a feature because otherwise it will be constantly reloading the page for you but if I click again you can see that now it's showing me let's work unite to bring more users right so this is very nice because you can change uh different files if you change files then the
- 37:55
dependencies will be updated dated so if I change this file and I import it within another widget it the that new widget will bring the the updated version because everything works locally and something that is also very nice is that if you press this button here that says go live then it will start a server and This Server I can just copy the fla. Json and put it into what was
- 38:22
been showing before the near dog Flags so for example here if we look at simpler. near widget billion users we can see that it says let's work together because it's bringing it from the chain but if I now ask the website to use my local flags and I sa the flags it tells me okay now we're loading the components from here and if I reload you will see that it's now loading it uh from my computer and it says let's work United and therefore I can just go back and maybe you know change all of these to
- 38:53
return high I can see here locally that now the widget is just a simple high and I can come here and see that that's it it has been changed uh so that's basically it like just within the code you can do absolutely everything it handles natively multiple users so you can change code from absolutely anything and it will just be uh so you know I can for example if I'm building something from
- 39:23
from simpler. near but I want to see what will happen if you know the code of near changes or or gak ds. near changes I could change any of those and then uh everything will be updated and something else that I can do is if I I can not only like work locally but then I can also press this button and it will send the transaction to you know like basically send this uh to publish this
- 39:47
component in this case it's telling me like you're trying to you know publish as simpler. n but you don't have that account but yeah so this is what it allows to work directly inside of vs code and all locally and now I completely lost the call I don't know where you're at here super cool um quick question so what's the uh what is the environment that the uh browser inside of vs code is using like what VM does that put your
- 40:25
components too yeah so you actually so the extension is its own Gateway on itself so that's something that you know whenever the Gateway gets updated I have to go and manually like update the Gateway inside of the extension and then publish a new extension and most probably the version that is right now running is quite behind to be honest just because of the band I don't have enough bandwidth to support everything that I built and right now the poor vs go ID extension has not been touch in I
- 40:59
think three or four months with which in you know B components time is like a century ago does it use its own boss loader or does use this the same bus loader as uh Michael no it's different because so when you build a BS code extension BS code actually gives you like it has its own file system that you can interact with and therefore it's just handling everything doad so it it it it was it's
- 41:30
not dependent on Boss loader it's just like a different flavor of BOS loader we could say okay what are the known limitations besides the um um old version of Gateway uh the main limitations I would say are not about like preview or so the main limitation is that if you want to publish right now it only knows how to talk with wallet. n.org so the the user interaction will be poor when you try to automatize that you know
- 42:09
like ideally you will log into your components but when you hit login it takes you to the wallet.org so if you have your your account somewhere else you just it just doesn't know what to do uh and the same with publishing only can go through wallet. n.org and those are the main imitations but besides that everything else is locally and you know changing flag. Json so nothing changes so does that mean that this is going to break when the uh the wallet.
- 42:39
me.org is is sunset or not if someone changed the code to talk with near my near wallet and that most r that someone's me could you extend it to include the wallet selector so you can use any wallet so that's something that we look into and the answer is I don't know I just being honest I don't know maybe yes but with a lot of work because BS Cod does something very well which is it encapsulates everything it doesn't allow you to do whatever you want just because that would be very dangerous for you know like someone will
- 43:17
install the extension and then suddenly you can take over the computer so it has a Sandbox and it allows you to work like very very very much in isolation and I don't even know how to start to you know see how to connect it with other services and and other wallets I just I just don't know I also want to answer the question that was uh rting chat by uh Li Mill before is uh uh what the current status for of tooling and who and how to understand who is responsible for each tool or
- 43:56
decision making in general and as you may have already noticed there are many different individuals working on different directions with different capacity uh so and most most of us like it seems like boss loader is uh pretty stable so so it's called Uh V vs code extension also is stable for four four months uh unwillingly but that's the state of things I I believe so all the contributions are welcome and it's all
- 44:28
done in open source and uh I think all of us are happy to uh review the contributions but other than that I don't think there is like a grand plan for for that um the the most like um how's called organized uh um push forward currently for tooling goes from devhub side so if you want uh to bring something to uh uh to bigger audience post a proposal idea what's missing uh if it's smaller um like one feature go
- 45:08
to individual GitHub uh repository and post a proposal issue there or submit the pool request uh directly yeah that's how it works in open source I would like to also continue on that topic and say that as also you can see we are like real human beings creating code like it's not that you open an issue and suddenly it gets magically solved and we value contributions a lot and contributing to open software you know you can also do it you can do it because you love open
- 45:43
sourcing but you could also do it just because then it's going to look good in your CV and it's going to look good in your resume right like you can say to people hey I am if I have to review the CV of someone and they have contribute code then that's so much more valuable that someone that says like yeah trust me I'm very good I work on a company and no one you know you cannot see the code so it it's very useful and we are humans
- 46:08
and we are approachable and we are very happy if someone wants to collaborate you don't need to be like a super genius I am not like a super senior developer I know how to do things and I just find my way through and if someone needs mentorship we're more than happy to provide because it also helps us so if you want to contribute it doesn't mean that you have to create a PR and it has to be perfect otherwise we're just going to tell you how bad you are most probably we're just going to guide you
- 46:32
towards something that because it's also good for us and in the process you can learn so that's good if you're not a you know P5 senior developer don't worry just just contribute a little bit and the rest we can guide you and sometimes contributions could be really small but they improve a lot in in just user Journey it could be even like a fix in and adding a link in rme file with already like bring like and tutorials and documentation indeed like
- 47:08
that is something that many many of the the the sad reality of Open Source that you want to do everything but then you just don't have the bandwidth and therefore you always leave documentation for the so sometimes even contributing a little bit of a rhyth or a documentation like that helps a lot all right well with that particular call to action you know please if people get in there
- 47:42
and contribute to some of these Ruffs because clearly we all need help you know there's a lot to be done in this ecosystem um anybody else want to bring anything up in regards to Source scan boss tooling it's a community call so got another 10 minutes if anybody has anything Elliot yeah I could share the boss workspace that I use pretty consistently um let me share my screen cool yeah go ahead guys tell me when you see it
- 48:28
yep cool so I think it was who was it uh what's your name Michael Michael you're were talking about something about uh being able to to deploy from multiple different accounts so I work a lot in this boss workspace that it like it's pretty much it uses boss loader but it puts a JavaScript uh build script on top of it so able to like manage multiple different apps and within one repo so in it for example you have this
- 49:00
apps directory and then each app has its own uh boss config Json inside of it which is the app account and then it has a widget folder that has all your widgets at all just how it is before so I consistently have my own uh Gateway that's open and then I'll like use an app so like this one would be app account every do and year and I can use the draw app and now you have uh like you can spread across these different apps it's set up in your uh Gateway if you want so if you
- 49:39
have custom components like this one you can use it um and then since it's like within this workspace we can look at another one like this create app which has an app account create it that here oops create it is that near so I'm boss loading multiple different accounts app accounts from the same workspace and you're able to work on them and then we are running a lot of different projects so we have people that will like Fork the repository and then they'll create
- 50:09
all these different poll requests um for the different apps and we're able to hold them all in one place and we're able to like reference each other's code when we need to so that's been especially helpful and I'd be really interested um I've been taking notes this time about the limitations that we've seen in like boss workspace and how we have all these different tools and how they go together especially
- 50:33
um this serves as a pretty good start for uh the typescript repository the typescript transpiler I think that's inside of it and then I also have a few questions but first do you guys have any questions on this like boss workspace I guess not so far I don't have any questions but it's super cool to see another uh pretty complex setup um and see things you know that that you found uh a setup that meets your needs so yeah thank you for
- 51:13
sharing yeah well I wanted to ask a question really quick um I've seen implicit accounts generated for like so this is about like GitHub workflows so I've been messing around a lot with workflows this week um I have seen in the past new accounts like workflows where it generates an implicit account and then it deploys a contract to that do we envision using boss loader to do the same thing like could we create an implicit
- 51:44
account and then deploy um widgets to it so that people that are creating poll requests or repositories it doesn't need to be merged into a Dev Branch or a main branch I just I don't know lot about it so I'm just asking if it's possible well it's totally possible you can do and like near CS has a command to create a foret sponsored tet account um named or random names it's fine uh
- 52:16
but I don't see necessarily the value there immediately for like why would you like if you are doing local development you can do it cheaper with just uh yeah uh Lo loading from local file system if you want to share with somebody I would argue you would rather publish it on my net it's not that expensive and don't bother with test net but I don't know I think I disagree so I'm running a lot of different projects right now we got people building and doing uh all these poll requests and so I've been having to manually go through
- 53:00
go into a poll request and check it out locally um I don't see why a test not implicit account would be a bad idea I think it makes sense but it's okay so you're well P request I would create a flow that would publish it on like that would be part of like preview pull request blah blah blah so it's not part of ler so it would be part of uh like Ci environment so it's it's right then then it fits more into BOS C I guess um yeah it's it's sounding like what you're
- 53:31
getting at is something like versel preview deployments where you have yeah yeah so we've actually we on the uh Team of pagota that works on the near Discovery components repo we we kind of talked through this for a while because we very heavily use uh versel preview deployments we're really happy with them um we get into kind of a weird state where we we didn't feel like testnet was
- 53:56
a good place to run preview deployments because by nature of Boss being highly composable you don't really have any guarantee that any components that you're relying on from authors outside of that specific repo are going to exist uh so it just didn't feel like the right workflow to to build out something that you can reliably test on so we did consider doing it on mainnet but you kind of get to this point where you're polluting mainnet with a whole bunch of
- 54:26
you know components that are actually not meant to be consumed uh and that can actually lead to confusion too if you end up with users on these uh you know components that were really just generated out as previews and it's especially an issue with uh gateways Auto surf Auto surfacing pretty much all components that are published if you can just go look at like the list of all components on n.org and things like that uh you end up with a bunch of Cru so um
- 54:55
we have not yet come up with a solution that we're happy with there uh but it is you know a very valid idea for an improvement to keep pondering actually while we were talking I realized that you can actually deploy boss ler is to the preview environment of uh verel and create a link with a flag enabled to point to that specific deployment um B order and then you don't need interes I I don't see value publishing it on testet like it's it's the same value
- 55:35
like from from the cost perspective I think nowadays testet is is uh is more expensive for like for validators from for the environment than for uh because it's so huge and nobody kind of pays for it except pagota or and several more contributors and then um yeah um with my best part about it is I don't have to pay for it but yeah I know but yeah I I think this bus laer kind of makes sense
- 56:10
I know what do you think well um I see that in the chat you guys uh pagoto is working on that um I think I heard earlier that you guys are looking for open source contributors I would love to see this like progress in public or whatever I'd like I'd like to contribute I I mean I uh we are yeah like this is something as far as getting a GitHub road map is something I've been working on with pagota we are right there we
- 56:33
have it we have like tickets yeah this is something that we're actively working on and I want to hopefully release it in the next like week uh or two I believe our CTO Eric uh actually mentioned this in the near uh All Hands um this week as well so um yeah keep on a lookout for uh for an update from us on that why not now never mind actually I gu I mean I'm I'm like okay I'm ready to go but yeah no it's just making sure that priorities are right and we have all the tickets like basically just migrating
- 57:09
everything from jira to GitHub it's just a a process you know I got you I got you well I'd like to be involved in any way I can so awesome awesome looking forward to it Elliott all right well awesome thanks everybody for the the great discussions and the and the stuff everybody showed off today um we're at the top of the hour I don't think we're really in the middle of any active discussions we'll probably wrap it here uh just as a reminder you know I'll get this recording at some point later today post
- 57:41
it to YouTube and in all the channels so that people who couldn't make it can watch and anybody who wants to rewatch parts of this one can and uh yeah once again thanks everybody who showed up today and um hope to do this again soon awesome thanks everybody Thanks Max thanks thank you bye