Developer Resources

Dev Sandbox (MutinyNet)

14min

Introduction

The purpose of Mutinynet is to have a zero risk environment for developers of a team to test and learn how lightning nodes might be able to interact with or be integrated into the existing business stack or to test specific API calls, etc. before moving to production. We highly recomend using this tool to ensure reliability before going live with a mainnet node. However, it is strongly encouraged to start a mainnet node as soon as possible with adequate liquidity to ensure transition from Mutinynet to Production goes smoothly. MutinyNet has no additional cost and can be used on the free Essentials plan or higher.

īģŋ

Deployment

To deploy a Mutinynet environment, be sure to go through the normal onboarding steps of creating a Voltage account and team. If you need an invite to a team, make an account and then have the Team owner send you an invite from the Team management dashboard. Once on the node select screen, click the New Instance button, choose Lightning node, and choose the Mutinynet option under Network and then click continue.

īģŋ

Document image
īģŋ

The flow to setting up is very similar to mainnet. You will give your node a name, set an unlock password, and it will start up and bring you to the main Dashboard. Give it a few minutes to provision and complete initial chain-sync. If you would like to monitor this process in detail, you may click "Logs" on the left side menu.

Your remote connection information is on your new Mutinynet Dashboard under "Node Details" on the right side. Here you will find your API Endpoint, connection ports, and more.

īģŋ

Document image
īģŋ

You will now be able to quickly get a channel set up as well as simulated liquidity so you can begin integrating and testing your project, app, or service.

īģŋ

Document image
īģŋ

Configuration

After the chain is synced, you can get your API endpoint and macaroon from the dashboard to be able to access your node. The usual UI interfaces are unavailable on mutinynet. We recommend turning Surge on by flipping the toggle at the top of the Dashboard to on, so you can get more detailed information on your node, channels, and testing environment.

To get your node funded and ready to test, click Get Mutinynet coins. Select the amount you want. These MutinyNet coins act as ON-CHAIN funds that we will open a MutinyNet Lightning channel with. It could take up to 30 seconds for your on-chain MutinyNet coins to arrive. Once you see the coins in your balance, you can now click Open Channel. Unlike mainnet Lightning Network, your channel peer will be automatically chosen to keep things simple.

īģŋ

Document image
īģŋ

When you are opening a channel, you will be able to select the amount of the total channel, and how much inbound you want in that channel (to enable receiving). This is represented by the "Amount to Push" percentage. For example, if I want to open a 500,000sat channel, and I push 20%, I will have 400,000sats on my side, and 100,000sats of inbound. Once you confirm this, it will take another aproximately 30 seconds for the channel to open.

īģŋ

Document image
īģŋ

Begin Integration and Testing

After this channel opens, you are ready to start testing! You will notice that the built in GUI interfaces available using mainnet are not available on mutinynet. At this point you will need to get your LND environment set up so you can begin connecting the node to your project or service.

Be sure to get your API Endpoint from your Node Details page, and also your macaroon of choice from the Manage Access page from the left side menu.

For instructions on how to deploy LND for the CLI, check out LNCLI (Self Host)īģŋ guide.

An example rpc call with LNCLI will be:lncli --rpcserver=node.u.voltaageapp.io macaroonpath=pathtomacaroon tlscertpath="" getinfo

If you do not receive an error, then you have successfully ran a call to your node.

From here, the full LND API is available which you can access and start building with. You can check out the reference guide here. An example of how python would be set up to work with your mutinynet node in REST is as follows:

Python
īģŋ

For reference, LND REST port is 8080 and gRPC port is 10009.

More code samples including JS can be found at the LND API reference. Keep in mind that MutinyNet coins have no value.

To contact the team or to find colaborators, you can join our discord HERE or send us a support ticket HERE.

Test a Payment

To test a payment, you can go to https://signet-app.mutinywallet.com/.

From there click "New Wallet"

Then click Receive your first sats.

From there you can pick an amount and generate an invoice. Next you can send funds to that invoice from using your MutinyNet node. This is great for payment testing and you can also send from your signet-mutinywallet!

FAQ

What exactly is Mutinynet?

The Mutinynet network is what is known as a Signet Test Environment. It uses a modified hardfork of Bitcoin to speed up and improve usability for Testing purposes. Compared to the traditional Testnet method, Mutinynet does not include the heacahces of finding peers, acquiring testnet coins, etc. which makes it an ideal testing environment for developers.

When should I switch to mainnet?

It is important to make sure that when you switch from Mutinynet to mainnet, that your mainnet node has adequate real liquidity beforehand. If testing is going well, consider deploying a mainnet node to build out liquidity on a few weeks before going live.

Can I choose who to open a channel with?

Mutinynet is used to test specifically various APIs or protocols you want to use on your app. For example, you will likely be using the LND API the most, with maybe LNURL support. To test these APIs in your project, there is no need to have to trouble yourself with choosing peers as if it was mainnet. One channel is enough to test the functions of these APIs in your project.

Can I have multiple Mutinynet nodes on Voltage?

If you are on Essentials tier, the max is 1. If you are using Starter or higher, the max is 4.

How do I switch from Mutinynet to Mainnet?

In your connection file (such as .env or .json depending on what you are building), simply switch out the API endpoint and macaroon file. This is all that must be done to switch your project to mainnet.

Can I still do testnet?

Due to ongoing Testnet sync issues and spam, Testnet is currently disabled on Voltage.

Where can I find more technical information on Mutinynet?

The Mutinynet repository can be found HERE.

Updated 01 Aug 2024
Doc contributor
Doc contributor
Did this page help you?