CI/CD with Nosana

Geniousoft
6 min readJun 7, 2023

Nosana is one of the most exciting projects I’ve seen on the solana network lately. As a software developer, I understand the importance of CI/CD better day by day. It is precisely at this point that Nosana stands out with its decentralization. Many version control systems offer CI/CD services for free within a certain time limit. Nosana, on the other hand, has globalized its payment by token pricing.

Although there are many features that we will mention about the system, these are our main topics.

  • Why Nosana?
  • What contributions can Nosana Node operations provide?
  • What kind of things can CI/CD’s interaction with blockchain bring?

Why Nosana ?

Decentralized transactions are at the forefront of their preference. Such applications, which can evaluate cryptocurrencies as one of the usage areas of cryptocurrencies and as a developer, will become more popular in time.

Of course, in addition to these reasons, processing CI/CD results into a blockchain. This is the real game changer.

Lets deep dive!

Let’s go a little deeper and use the nosana system. Let’s find the differences compared to normal CI/CDs inside.

  • Register to Nosana
  • Import repo into Nosana
  • Run pipeline on Nosana

Register

Nosana allows login only with access via github account. Afterwards, you can connect the wallet to solana through the profile.

Import github repos

When you log in with your Github account, your repos are automatically listed in the Nosana system. You can choose one of them and proceed to the part of adjusting your pipeline processes. I took an action on the sample repo that Nosana prepared for the build station. Also you can add more github account on the top menu.

After adding a repo on Nosana, your pipeline file automatically appears in the system. Here you can edit and update your .nosana-ci.yml file. It has the same features as the normal pipeline CI/CD file.

I don’t want to go into the details of CI/CD’s yaml files. I’m sure all developers will learn the details one day. But basically, it run a docker image and runs your codes according to the breakdowns you have given. Nosana has its own docker images and the list of supported images is in their documentation. Of course, when you look in detail, you will see that you can also use custom Image.

And of course, secret keys are indispensable for pipelines. As in many systems, Nosana can keep env files on itself. This system, which is in 2 different ways, changes as global variables and repo variables. Nosana’s name is specified as “secret”.

Run test on Nosana

The most exciting point of the system is the trading results. The results are uploaded to an ipfs and all records are registered to the nosana program on the solana network. As you know, it takes a certain time for all results to come out. And the results can be generated with the NOS token. ofc my pipe is fail 😮‍💨 maybe next time 🚀

And Solana in the all results is save on explorer. The good part here is that Nosana has documented how you can read the programs here. All the results are on the blockchain this is really exciting. On normal CI/CDs, this information is kept centrally and you need to query with API. But in Nosana, these are built on blockchain and IPFS and can be directly queried over the network. 💎 The most important point 💎

Nosana has a very nice documentation of all her programs. Idl and PDAs access details inside. Find events on run time and ready-made schematics for them. So you can easily integrate your pipelines and blockchain events into a 3rd party system. Also, the results are kept as a json in the IPFS file. You can also download these files after key access.

const programId = new PublicKey('nosJhNRqr2bc9g1nfGDcXXTXvYUmxD4cVwy2pMWhrYM');
const idl = await Program.fetchIdl(programId.toString());
const program = new Program(idl, programId);

For detail that documantation : https://docs.nosana.io/programs/jobs.html

Bonus Info 🎁 NOS Token

Nosana has a staking program and gives you another way to earn NOS tokens. You can buy Nos tokens and stake them and you can earn at the rates specified on the system. NOS token is a limited token and these tokens are needed to use pipelines. So the token has its own consumption mechanism, I suggest you consider this.

Name Nosana Token
SymbolNOS
Total Supply100,000,000
Token AddressnosXBVoaCTtYdLvKY6Csb4AC8JCdQKKAaWYtx2ZMoo7

Buy nos token https://jup.ag/swap/SOL-NOS
to stake https://app.nosana.io/stake/

What contributions can Nosana Node operations provide?

Nosana has created a participatory system to expand their system. The aim here, of course, is for systems to progress in a more decentralized way. As you know, establishing a node allows you to share the processing load for your resources within the network. At this point, Nosana allows you to set up a node and earn NOS tokens with a similar system.

You can think of it this way. You have a linux server and you have installed a node here. With the NOS tokens you earn, you can rent a macOS environment for another node user. It’s a super resource sharing manager for me. With the increase of ARM and other processors, the expansion of CI / CD environments becomes so important.

PS: I was amazed when I heard it from Nosana team.

There are some features you need to set up a node for Nosana. And it currently only supports linux and macOS.

Solana Tools Suite (Required)
Docker (Required)
JVM (Optional — Required for development build)
Clojure (Optional — Required for development build)
and one more thing if you want to use pinata for IPFS
Pinata API keys (Optional)

for more informatin you can check the detail on documtation site
https://docs.nosana.io/nodes/install.html

What kind of things can CI/CD’s interaction with blockchain bring?

In many respects, it is necessary to deal with issues such as processing the results of transactions on an open network, total use, a common sharing of the world. As you know, it is a project in the Nosana solana network and processes ci/cd transactions on the block chain. I won’t go into the technical details. But let me tell you with an example why it might be valuable to build on the blockchain.

Imagine you have an open source repo and your workflow is running on nosana. According to the CI/CD processing result, another solana program is running. In this way, you automatically donate with tokens to other developers who support your open source repo (if it passes through CI/CD). I’m sure this micro sample will one day make an outgoing developer from superteam. As a result, it will become more attractive to develop open source code.

Conclusion

When I saw the improvement Nosana made, I really liked it. The detailed studies of such web3 systems increase my belief in the web3 world. Especially in the long conversation I had with the team members in Istanbul HH, I saw that they really put a lot of effort into it. I’m sure there are many points that I haven’t mentioned yet, such as “burner phone nft”. The important part for me is the value it adds to the solana network on the CI/CD side. I will definitely code a CI/CD that will produce and distribute a spl on devnet with pipeline only, at the first time I am available.

Documentary

It is necessary to put a lot of links here, but Nosana has gathered them all in one address.
https://docs.nosana.io/
https://nosana.io/
https://app.nosana.io/
https://app.nosana.io/stake/

Suprizzzz 🔥
if you’ve read this far, you should definitely check their NFTs. The details are very exciting.
https://nosana.io/nft

--

--

Geniousoft
Geniousoft

Written by Geniousoft

Humble developers team and infos

No responses yet