Host your Algorand RPC Node via the Flux Marketplace.

Flux Official
7 min readMay 9, 2023

Flux — The Web3 Cloud

Flux’s core values and ethos center around the rise of Web 3.0 — By, and For the People. Its aim is to evoke the power of corporations and restore it to the common people. The Flux Cloud is decentralized, based on thousands of single servers from all over the world that are all connected in one operating system. Individuals are the backbone of the technology, so to speak. They provide the cloud with computational resources via home-based bare metal machines or rented servers and are incentivized by 50% of the total block reward.

To date, over 14,000 nodes worldwide support the decentralized cloud of Flux. The total available computational resources amount to around 110,000 Cores, 300 TB of RAM, and over 7 PT (Petabytes) of SSD. It is a Web 3.0 cloud powerhouse that can deploy applications in a decentralized and censor-resistant manner. Flux has several advantages over traditional Web2 infrastructure providers, such as redundant applications, automatic failovers in case of any outages, Docker Hub containers, which make it agnostic to code language, automatic updates, and competitive pricing.

Algorand — The world’s most powerful and sustainable blockchain.

The Algorand Foundation is dedicated to helping fulfill the global promise of the Algorand blockchain, its decentralized governance, and a healthy and prosperous open-source ecosystem. Designed by MIT professor and Turing Award-winning cryptographer Silvio Micali, Algorand is uniquely capable of delivering on the promise of a borderless global economy. It achieves transaction throughputs at the speed of traditional finance but with immediate finality, near zero transaction costs, and on a 24/7 basis. Its carbon-neutral platform and unique pure proof-of-stake consensus mechanism solve the “blockchain trilemma” by achieving both security and scalability on a decentralized protocol, and without a second of downtime since it went live in 2019.

Let’s dive right into the guide on how to deploy your very own Algorand RPC Node via the Flux Marketplace in just a few simple steps!

  1. First, navigate to https://home.runonflux.io/.
  2. Next, log in using your ZelID. You can obtain your ZelID via Zelcore at https://zelcore.io/. Always use official links when logging in.

2.1 If you do not have an account created in Zelcore, download and install the app. To ensure your wallet’s security, enable d2FA in the App section inside Zelcore.

2.2 To ensure your wallet’s security, enable d2FA in the App section inside Zelcore.

2.3 Now you can authenticate by clicking on the fingerprint button or manually by signing the message manually on your Zelcore Wallet with the ZelID App

3. Once authenticated, navigate to https://home.runonflux.io/apps/marketplace and find the “AlgoRPC” Application under the “RPC Node” category.

4. You will see a F_S_ENV parameter that requires a value. You will need to parse in your API token using the Flux Storage feature. The API token can be a random value of your choosing.

5. go to https://home.runonflux.io/apps/registerapp in a new browser tab.

6. The Flux Storage tool is integrated into the “Component” section, and you will notice the cloud symbol box next to “Environment” and “Commands.”

7. To utilize the Flux Storage tool, kindly include your API token environmental parameter within the designated brackets, inside quotation marks, enclosed by quotation marks, with columns at the start and end, akin to the demonstrated instance below. The API token can comprise arbitrary characters, but it must possess a length of 64 characters. Please ensure to store this API token in a secure location as it is necessary for accessing the RPC endpoint.

[“TOKEN=21wh2OBowbkYtRqB0LtesttokenZORh7wS9LrsueY5nkxvclVvYclfWOh4zfPL56Uxh7”]

8. Click the cloud symbol box and then “Update Environment Parameters.”

9. You should see a notification pop-up on your top-right screen.

10. You might have noticed that your “Environment” field has been updated. It is using the Flux Storage format now, in our case, it is:
[“F_S_ENV=https://storage.runonflux.io/v1/env/228566723620615"]

11. To set up the F_S_ENV parameter in Step 3, take the HTTPS link — in our case, https://storage.runonflux.io/v1/env/228566723620615 — and input it as the value.

12. Next click on “Start Launching Marketplace App.”, you get something like:

13. You can click “Next” or copy the Registration Message if you want to sign the message manually using your ZelID App, and then click “Next.”

14. Here, you can click the fingerprint button to sign the request for the application. If you have done this manually, paste the signed message from the earlier step onto your ZelID.

15. You will now see the monthly cost for your application. Click on “Register Flux App.”

16. You will be given payment information in FLUX. Payment is made through the FLUX blockchain using FLUX coins.

17. Select “Pay with Zelcore” to make the payment for the application.

18. You are done! We now need to wait for your Algorand RPC Node to be spawned on an available node, which usually takes around 10–30 minutes.

Usage of Algorand RPC Node

log in to https://home.runonflux.io with your ZelID, go to the “Global Apps” menu tab on the left-hand side, and then go to the “My Apps” tab, where you can manage and visit your Algorand RPC Node deployments. Click on the arrow pointing down to see your application specifications and the IPs running it.

More importantly, you see your “Automatic Domains” which were generated by the Flux-Domain-Manager (FDM). You’ll need the first one listed there, in our case algorpc.app.runonflux.io. This HTTP endpoint is load balancing between your three Algorand RPC Nodes (If they are synced 100%)

https://algorpc.app.runonflux.io/

As you can see, your Algorand RPC Node is redundant, which means it is always running on a minimum of three instances simultaneously. That means you could use each individual IP as an RPC endpoint as well. Click on “Visit App” to get to its HTTP endpoint. Examples:

http://195.3.223.66:35790/
http://65.21.94.109:35790/

You can check the logs of the individual IPs to ensure that the Node is syncing correctly.

  1. To visit one IP by clicking on “Visit FluxNode”
  2. Log in with your ZelID
  3. Navigate to “Apps,” “Local Apps,” and “My Local Apps.”
  4. Click “Manage,” “Manage App,” and “Log File.”

You should see something similar like this:

{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.132955Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.132994Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133031Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133066Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133106Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133153Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133196Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133236Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133279Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133317Z”}
{“file”:”builder.go”,”function”:”github.com/algorand/go-algorand/stateproof.(*Worker).builder”,”level”:”warning”,”line”:272,”msg”:”spw.builder: BlockHdr(419): ledger does not have entry 419 (latest 28644155, committed 28644155)”,”name”:””,”time”:”2023–04–26T13:50:00.133353Z”}

For all the Algorand Developers please check out the documentation:

- https://developer.algorand.org/docs/rest-apis/restendpoints/?from_query=token#security-token

- https://developer.algorand.org/docs/rest-apis/algod/

To make a simple health check for the Algorand RPC Node check for the example below:

async function algo(){
const algodsdk = require('algosdk');
const token = '21wh2OBowbkYtRqB0LsprrfZORh7wS9LrsueY5nkxvclVvYclfWOh4zfPL56Uxh7';
const server = 'https://chia1676992352413.app.runonflux.io/health';
const port = 443;
const client = new algodsdk.Algodv2(token, server, port, {
'X-Auth-Token': `${token}`
});
(async () => {
console.log(await client.healthCheck().do());
})().catch((e) => {
console.log(e);
});
}

Please note that your Algorand RPC Node is only subscribed for 22,000 Flux blocks initially, which is approximately 44,000 minutes (about one month). Therefore, you will need to renew your payment after the first month to prevent your Node from getting kicked off the network. We give you the option to renew it for a longer term, up to one year, after the first deployment.

  1. Visit https://home.runonflux.io/ and log in with your ZelID.
  2. Navigate to “Apps,” “Global Apps,” and “My Apps.”
  3. Click “Manage,” “Manage App,” and “Update Specifications.”
  4. Keep all the variables as they are, except the PERIOD field, which you can adjust according to your preference. Then, click on “Compute Update Message.”
  5. Sign the Message with the ZelID App and click “Update Flux App.”
  6. Click “Pay with Zelcore” to make the Flux Payment.
  7. Voilà your Node has now been renewed for your chosen duration.

Have Fun supporting Algorand with decentralized infrastructure!

Learn more about Flux at www.runonflux.io
Learn more about Algorand at https://algorand.com/

--

--