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 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 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 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 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 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) docid kbyuauc4hshwnpdb 4wn 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 import base64, codecs, json, requests rest host = 'example u staging voltageapp io 8080' macaroon path = 'path/to/admin macaroon' tls path = '' url = f'https //{rest host}/v1/balance/channels' macaroon = codecs encode(open(macaroon path, 'rb') read(), 'hex') headers = {'grpc metadata macaroon' macaroon} r = requests get(url, headers=headers, verify=tls path) print(r json()) \# { \# "balance" \<int64>, \# "pending open balance" \<int64>, \# "local balance" \<amount>, \# "remote balance" \<amount>, \# "unsettled local balance" \<amount>, \# "unsettled remote balance" \<amount>, \# "pending open local balance" \<amount>, \# "pending open remote balance" \<amount>, \# } 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