Archway: Introducing WarpCLI

Recorded: June 9, 2023 Duration: 0:49:15

Player

Snippets

Hello everyone. Hi, we're just waiting for a few more members of the work CLI team to join and then we should be good to start so we'll give it a few more minutes.
On the art way side, Ken, do you want to request to speak? Eric, Deedle, if any of you guys want to also come up here, you're more than welcome.
Hey Max, how you doing? Doing great. Thanks for inviting me up. What up, super crew?
Voila, put up.
excited to learn more about Warp's CLI.
Yeah, same and I know they've been working on evolve NFT as well. So contributing to the community in a few different ways, which is what we love to see.
Yeah, absolutely. I for when I'm pretty excited to hear about their perspective, you know, if they used Warp CLI to build a VolvnFT or if EvolvenFT is the reason they built Warp CLI kind of like how that came about. And it would be really interesting from a developer perspective. Yeah.
That's actually a great point and it is going to be interesting because it's always nice to hear from developers how the experience was as they actually developed an application. So this can be good for both just in general feedback on Archive than also just to their experience and why they built their tool.
Yeah, absolutely. I see Raith here as a listener. Raith, do you want to request to speak?
Hi, Raid. How are you?
Hi, can you hear me?
Yeah, we can.
Yeah, okay, that's great. I hope that this is all working correctly now and I'm set up properly. Yeah, we can hear you. Yes, hi, I am a race and I am the
main core developer of Warp CLI. And I'm happy to be here. I were just waiting for, well, my, yes, we're just waiting for my friend to join.
Amazing. Do you want to start giving an introduction to yourself like a little bit of background while we wait? Sure. I am a software engineer with experience primarily in backend development. I have been in this field for
over four years and about two years ago I have transitioned into blockchain. Particularly I started with developing Ethereum smart contracts and DAPs and well
I didn't really like the experience that much. And then I found a much, then I found a bit of a different opportunity for myself and started working on other blockchains. And throughout that, I have collected a lot of
different experiences as a developer working with different chains. And essentially that led me to where I am here, building Warp CLI with basically, well, I guess my
co-developer.
here that I don't know if he's here yet.
Awesome. Well, thanks for that introduction. And it's interesting to hear that we have a few questions for you that we'll kind of wait for this to get going here, but kind of related to that idea of
What got you down this kind of path to build your own CLI? But we'll save that for once we really get the ball rolling here. Yeah, of course, sure.
I'm sorry, I just realized I was speaking on mute. Yeah, so just to kick things off on our end, my name is Valeria, Marketing Strategy Lead at Archway. I mean, at file apps. And then Max, Eric, Deedle, would you guys like to introduce yourselves to the audience for those of you who don't know?
Sure, I guess I can start. So I'm CryptoCam or you can call me Max. That's what my friends call me, I'd say, who aren't what three. But I am leading business development for Fire Labs. So we're the core contributors to Archway Protocol.
My role is really to work with the different developers, builders, really users, and anyone who wants to interact with the ecosystem just to get them onboarded, understanding what we're doing at Archway and make sure it's a good experience for them.
as they're getting a set up with our different technology and deploying to apps. You guys, I'm Eric. I'm the tokenomics lead for Fire Labs. I also hope some business stuff and build some apps on the R3 ecosystem as well. But yeah, I love to talk about the numbers and stuff.
Deedle where you at fam?
He's not a meeper, do not hear ya.
well i guess well he tried to get that that non-US-y-fi probably
But just so everyone's aware, so so D-Dole or Dan, he is the head of ecosystem for Fire Labs. He's really leading the charge with really creating and planning out the roadmap for the entire ecosystem that is
He recently started with us a month or two ago and stepped into the role and really got things moving for our two. From both growth perspective and marketing perspective. Lucky to have mom board.
100% So is that or if say lie would that be your partner hopping on? Because if it is would you be able to request to speak please?
Yeah, it looks like Twitter spaces is being a little bit of a...
Not very cooperative. But yeah, welcome. Would you like to give us an introduction of yourself before we kick things off?
Yeah, sorry, it was my bad cause I was never using Twitter spaces before so it was kind of mess to configure the ASAP. So yeah, I'm also the one
of the developer of the RPCLI. As my friend said before, we were building this basically together because we was building on a few other chains before
and building on most of the chains is kind of mess to do. So that's why we decided to basically create DCLI that will
Help us go through all of that mess that was around basically, such as deploying many contracts simultaneously and much more. That's why we decided to create that warp basically.
- Okay, great. So I guess for context, do you guys wanna give like an easy introduction into like what exactly is a CLI and what Warp CLI is? For those of that might not be developers listening onto this space.
Sure. A CLI essentially is just a short abbreviation for a command line interface. It's something that developers use. It's basically tooling that helps
You can think of it as any other software you're familiar with, just in a command prompt terminal line, this hacker style kind of aesthetic. Thank you.
I guess in general is there just from a developer perspective is there a certain benefit? All right, cool. And then why? So why did you guys decide to build Warp CLI? Well, Warp CLI is
a tool that we internally use here to develop, evolve NFT. It's, I think, currently the biggest and most likely the only project using it. But essentially what it comes down to is this is the set of tools
that allowed us to kind of bring in, improve our productivity essentially because it helps us test the contracts very easily. It helps us automate the processes that go into building the contracts and deploying them
to the network for easy testing. And this is just something that we have been that the experience just wasn't up to our standards with workflow with multiple contracts. This is kind of something that we've started
We started building previously on Juno Network when we were both working on the same project at a different company. We needed to deploy about six contracts and we needed to do it basically on daily basis. And that's how the idea for the core of Forbes CLI, IE,
that just kind of does all that for you without much inconvenience, that is how the idea was born. Also the one thing that I want to mention is that we was also building on Solana when there is a lot of integration tests where you could
basically try to test out your contract with TypeScript and Integrated, which is very convenient for frontend developers to let them know how they should integrate. You basically can create a 2A test, which describe how
to create something and do something, then simply without much explanation, give it to your front end developer and he may basically copy and paste most of code and it's very easy to integrate with when you get such a great tool.
Yes, that makes it easier for both making the contract and then adding them to a website or a mobile app for easy interaction with the user.
>> Got it. And I guess from your perspective, just in general, from I guess a developer's perspective, is it difficult to, I guess, build a CLI? What does it take to really build something like that from scratch as you guys kind of have?
It depends on the scale of the project, right? Because building this basic concept, kind of a prototype of what WERP CLI was, it was a really strict forward process, all of the things considered, because it just requires
us to kind of connect into the existing tools that Archway has and basically calling them one after the other with passing the necessary passwords to specific commands that we are doing.
Like for example, when you have are deploying a contract, you have to pass in a wallet password. Well, we made it to where you have to only do it once, even if you have tens of different contracts, which is one of the convenience is that that
you know, we're worked for us. So, you know, it depends on the scale because if you didn't want that and you were okay with just having a tool that does things for you, but still requires you to do some interaction, it would be much simpler. But then there is a lot of quality
of live things that you can add to such a tool. Like for example, personalization and configuration, or like I said earlier, just reusing the password for multiple interactions with the chain, it is just a bit more complicated that way and it requires more effort.
So I guess to put this into context, could you walk us through deploying maybe a contract for Evolve NFT that you had to do on Warp CLI versus like the Archway CLI and what the differences would be and how like that would look like.
Okay, so when it comes to the archway side of things, archway does provide a developer CLI, but at the time we were building Evolven FT for smart contract for the hackathon.
on the previous one. The archway CLI wasn't fully working for us when it comes to storing contracts and instantiating them. There were some issues and it would freeze and not let us essentially continue.
Additionally, our project consists of multiple parts, basically modules that have to independently be sent to the chain and, you know, initialize on chain for them to work kind of
on their own thing. And that wasn't really possible with the tools provided by Archway or maybe it was possible but it just wasn't convenient to do, right? So the way we do it here with Warp CLI is
is we create all our contracts and modules that the project needs. Then, using one command in the terminal, we are able to build all the contracts and optimize them for basically upload to the chain.
And then with an additional single line command, after creating a deployment script, which is very easy to read and kind of has like all the customization you could need to have the project be basically
Instructed or the tool to be instructed how to deploy your project. Once that's done with just one command, we can deploy it an infinite amount of times, you know, further into the future whenever we need to release a new version.
So that is the main thing that we have implemented here plus we support testing with popular JavaScript frameworks. So the deployed contracts can very easily be tested with just one command also, you know,
and just all the tests in JavaScript are being run in one go on the contracts deployed to the network. Awesome. And on the requirements side, are there any extra requirements for you to develop using the Warp CLI?
Nothing that people normally would not have installed for developing a smart contract for Archway or any other Cosmos chain for that matter. Because what you need is essentially just the Archway CLI which you can
download from the crates.io website. And other than that, it's just rust for programming. And I guess Docker containers for the for running tests.
Can you walk us through a couple of specific use cases that you think this will really help for other people building the ecosystem?
Sure. The main use case is a very complex project that contained more than just one contract in the work space. Yes, that's the word I was looking for. If you have multiple contracts and packages,
Where it's letting. We are letting the developers define a custom pipeline and order in which contracts should be deployed or to the network and then initialized on it.
We're also providing a very easy solution to provide initialization of contracts based on the activity previously. For example, you have a contract A that you need to deploy first.
And then you have a contract B that needs to be deployed later and has to know the address of contract A while being deployed. So with our tooling, this is fully possible and basically automated. We just need to specify in the deployment script that those two contracts have to be in
specific order, I have to go in a specific order and that depend on each other and that they have a property that links them together. And this can be brought further, if you have five contracts that depend on each other or like if you have a core contract
contract that has to link into multiple ones, you can very easily provide that information through the configuration pipeline. So that's the main use case. The other one that I can think of off the top of my head is the testing, ease of testing.
Now we don't have this implemented yet, but we are planning on adding a feature to spin up a local node of archway chain that basically just hosts the contracts that you are going to the R in your workspace.
And it lets you run tests locally against that chain without any need to connect to an external node or anything like that. Just a fully contained environment for testing. But currently we're using Constantine 3 for this purpose.
For context, what does the testing environment usually look like for smart contracts?
Well, a lot of the time you have to manually deploy a contract to your blockchain of choice or network of choice. And then you have to write custom scripts that connect to the
the chain, kind of like keep track of what's going on on chain and keep track of your contracts. You have to import an entire project that has testing frameworks in it.
And then you have to write those tests there and basically keep them up to date and then every time you are done deploying your scripts by hand. Because you have to without using a tool that you know that automates all that you have to kind of go by hand one by one type in all the parameters.
by hand and initializing contracts, you have to type in the customization options for each contract, for example. If you have a name for your collection or
If you have a symbol for your token or max supply and you want to instantiate that on the chain, you have to pass that in all by hand with our tool. It's all automated and the project for testing is already provided. All you really need to do is just use our
helper functions, which are basically some reusable functions for your code that you can easily set up a testing environment with. And then all you really need to worry about is writing the tests themselves.
checking the internal workings of the contract. That's it. Everything we're trying to do here is basically make everything as easy as possible as safe as possible for developers that they can
and not necessarily have to have huge teams have quick go-to-market experiences. They can go from idea to revenue as quickly as possible. I think that this would be a great addition to the ecosystem.
Yes, that's what that's kind of what we are going for here because as you might Remember we started working basically with archway as Around the time the hackathon started right so what we need to
was very rapid prototyping solutions, like stuff that would just work out of the box. And I think slowly we are basically achieving a tool that does this and we're going to be able to essentially let everyone use it.
Yeah, basically as a developer, we created it for ourselves to provide for our solve best solution to develop as quickly as possible. We build it for it for for her cut on reasons. First of all, it was very small, very smart CLI that we then
extended and etc. etc. as the hackathon goes. But you know, we developed it all to basically speed up our developing process to do not go through all of that steps that we need to do to deploy smart contract and etc. So it was very helpful.
Cool and so-
Oh, go ahead Dan. Oh, no, I appreciate it. No, this is this is really interesting. And I think, you know, I think that's a very organic, you know, process for entrepreneurs, right? You identify a problem of something that you're looking to solve that's something that's holding you back and then think of how we can create a solution that
So I think that's really cool that as you guys were building out, evolve NFT in different applications, you saw that the CLI framework had a lot of opportunities for improvement and you wouldn't build that. I guess my next step would be a question
would be what are, are there applications that are reaching out to Wurps CLI or are you guys in conversations directly with applications that would really use Wurps CLI as kind of the basis for building out their contracts and using it as a framework for their development?
We haven't yet started reaching out to other projects with this tooling because due to the constant 3 update, we had to rework the project a tiny bit and we weren't yet
feeling quite confident in it, being fully up to our standards of how straightforward the development could be with the tool. So, due to some changes, we are really
releasing currently a new update that will basically bring in all the convenience that we had before with Constantine 2, to Constantine 3, to assure and know like no boilerplate
for any other project trying to build here so when that's done we are going to be ready to start reaching out to people with this.
some brave teams out there that want to just have a go at it right now and kind of just tweak it to their liking because that's also an option. Yes, we're open. I will.
Yeah, we are open to basically share our code with basically any other teams and we want to basically provide the tool to as many teams as possible because you know this tool is great and we want to basically spread it around. We are also
very happy that this Twitter space is basically when the smart contract hackathon is in progress because it is the best moment to share our solution and to
basically spread it around because you know there are so many people probably working now to create your them own smart contracts for that specific hackathon and the our tool may be help them to speed it up a little bit.
Awesome. And I can fully understand where you guys are coming from, from the user, I guess, experience side of things. You put a lot of time and effort into building a tool that's supposed to make the experience more simple for a developer. So I can see why you're not trying to just push it out there in a state that you don't feel that it's actually accomplishing that goal.
necessarily. So I think that's a smart way to go about things and definitely looking forward to helping kind of promote it once you guys have it in the spot that you're willing to start sharing with developers so that we can give people an option of what type of CLI they want to use when working on projects on our
Yeah, absolutely. And I'd love to see now that you mentioned it smart contract on participants using Wurps CLI and kind of exploring how Wurps CLI could help them deploy their projects a little bit more easily. But that being said, I'd like to hear a little bit more about why you guys
chose to come in and build on our toy and maybe how you guys are using arch rewards for the CLI. We decided to build our project on our toy here because we have seen an infinite
information about the hackathon happening. We were kind of late to it, but we were looking to build a project on a cost most chain for a while now. But then we decided, you know, like we saw the hackathon prompt that it's in progress and that projects are
you know, starting to take off. And we decided that, you know, this is the best opportunity we're going to get here because Archway is offering a lot of cool features that fit kind of the needs of what we were, what we had in mind.
which is an NFT marketplace because you know with a reward system like Archway is offering it just fits right in with the idea. The thing is that for other main project evolve NFT we're going
to allow users to essentially get rewards for their own collections that they create. We're going to let the token owners to also participate and kind of like get rewards for transactions from
collections and essentially every single aspect like the marketplace the launchpad is using this feature so I think it was a great choice for us. Now for Warp CLI specifically we're not using rewards in any way to kind of get the
to kind of, because it's an external tool, we're just providing the support to deploy contracts. We don't really have a way to use this feature directly.
which is why the development is also kind of not as fast as we would like because focusing on Evolv NFT first and foremost means that we have less resources and funds to kind of get as far into this project as we would like.
So as for right now, we're just building the features as we need for our main project. That can change soon. Another thing that I want to say in here is that we are basically expanding warp as we could while
developing evolve because when we got some key things that are blocking us with already existing CLI and etc. then we try to implement the thing that are helpful for us to work CLI. So basically we do not like left this warp we basically
Basically, we are going with our site by site, thanks to basically extending it with the things that are needed in progress to developing our main project.
Yeah, I think the one takeaway from me from this that you guys just shared is that this is what archway is all about and this is what archway is going to be enabling right so we're going to have teams coming in building really cool DAP such as your evolve NFT and then realizing they need extra tooling
and stuff like that and then being able to create this tooling because they're being rewarded for their efforts via Evolve and FT, right? So I think that when developers are incentivized to create really cool stuff and they're incentivized properly, they're rewarded properly for their work and they're getting the value that they
capture out of the chain. So like you guys will grow with the success of Archway, right? So as long as this synergy is happening, then you guys are automatically more incentivized to create really great tools for other developers to continue this value capture feature.
And so I think it's a really positive feedback loop that will really end up allowing us to incentivize public goods because our developers are incentivized to continue building and continue improving the building experience on our way. So I think that's a really beautiful example of something that we'll see more and more of once launch comes up.
Yes, definitely.
Yeah, it's probably because you know the evolve will in our mind will be huge architecture So there will be many smart contracts and deploying it to like testnet networks is very
inconvenient and not easy thing because of all fees and because of the Fouset limitations. That's why we are implementing now like the TestNet feature to
create your local net and basically deploy it on your local. And basically, this is awesome that we could scale two projects together thanks to seeing limitations of one of them.
Yeah, absolutely. I think that's what it's all about. And so just looking at the time here, we're coming up towards three soon. So with that being said, I'd love to see if anyone in the audience has any questions and would like to request to ask anything that you guys would like to the Warp CLI team.
You guys can also ask about Evolvnft and actually I guess I will. So do you guys want to share a little bit about Evolvnft how that came about and what you guys are doing there?
Sure. Essentially what we want to convey with Evolve NFT is we want to create a space for everyone to be able to create their own NFTs and collections.
in itself will allow them to also participate in the chain, like reward sharing of the chain itself because normally creating your collection on any other chain that doesn't have this kind of feature.
means that you have to, you know, you get your collection, you sit it up, but then there's no tangible rewards for owning a collection, right? With Archway, we are giving everyone a way to, without knowing how to code, to just be able
to create their own collection and very easily get the rewards they deserve for their work, right? Because there's a lot of artists out there who don't necessarily know how to do it. So that will definitely be an
interesting thing to see, to see how this kind of grows. In addition, one of our main interest points with Evolven FT is that we offer NFTs with Evolving metadata, which essentially means that
your NFTs over time are going to change or you can make them set them up to change over time and either level up on specific action. It's taken off chain or simply you know just a
Progress in their evils levels. Like for example, you have a small tree and it can grow from a sapling into a big tree and have some cool interesting properties developed on it. We're trying to aim with this into the
gaming space items like these for anyone who would like to hit a dynamic interesting blockchain game. That's why we are also implementing a lunchpad for a platform for anyone to be able to kind of start
start their collection and the marketplace, which where people can exchange their items that they have the tokens that they own. Be it from, like, for example, just making their own collection or finding one on lunchpad or in the future, getting some interesting drawings
from for example a video game they play. That's kind of what we are gaming or yeah that's kind of what we are going for here. Yes. Another thing that I want to hear say that is basically we were using the special
that is token factory that allow us to basically list all the tokens created by them. So that's why we could basically list every collection, each NFT for this collection. And that's how we could basically help wallets on Cosmos to
basically list the NFTs assets. This is very amazing cause you know in wallets like Kepler you cannot see your NFTs because there's this is very hard to go through each event and find the NFTs where they belong and who is owner of that.
But with our architecture, this is very simple. It's basically one query that you could call and you know which NFT which wallet has and etc. So this is very huge for us that we are implementing that and that we could potentially share it across the network.
Okay, awesome. Thank you so much for that. Does anyone else have any questions from the audience?
Will you guys be participating in the smart contract?
Yes, we are planning to have some contracts released. I don't know if would you like to talk about it more, Poo?
Basically, we would like to develop another contract which will also help people to create a tangible tokens because you know when we create a contract that is token factory for
NFTs, why don't we create the token factory for fungible tokens? Actually, this is kind of easier to do, but there's a whole new basically platform or
something to build to make it as easy as possible. We want to provide the easiest tooling for possible DApps and SETERA to create them on Tokaon to manage them and much more. We want to basically
Spread it around a little bit and create it. I believe this is the great tool to do cos you know for all meme coins project and etc. This will be very helpful.
Awesome super cool. All right cool. So if there are no audience questions, I think we can go ahead and start wrapping up. Um, Poo Ray, it was great to have you guys up here.
Thank you so much for joining and sharing a little bit more about warp and actually contributing to the public goods available for archway. So that's absolutely fantastic to see. We're really happy that you guys are part of the archway community.
Thank you. It's been great working with with Archway and kind of contributing to the tooling and the ecosystem whenever it needed some additional contributions.
And like Valeria said, we're excited to have you guys on board. We're grateful that you guys are building on top of our choice. And just also wanted to make another quick announcement as well to everyone listening. So the smart contract hackathon, I know we've mentioned it a few times today, but that kicked off on June 1st.
We did extend the deadline through June 23rd, so I just wanted to remind everybody again. But there is 500,000 archway up for grabs for that smart contract hackathon. So make sure to enter it if you have any ideas or contracts that you think could potentially place.
Well, in case since the deadline is now extended, I guess I can with more, I'm sure he just now say that if you are interested in using Warp CLI for your project,
Then please do not hesitate to follow Warp CLI on Twitter and just kind of see if that's something that you want to use. We're going to be releasing an updated version very soon. So maybe that is something that you could kind of familiarize yourself with for your own project.
Yeah, it also if anyone need any tooling to basically update our warp and etc. We are open to basically conversation to find out what we could add and etc. Basically guys
Contact with us, please.
That's amazing. So yeah, go ahead follow our work sale on Twitter participate in the hackathon play around on warp and Yeah, we'll see you guys next time. Thank you so much for joining our spaces
Thank you.