Service Node Overview¶
The Blocknet Protocol is supported by a network of Service Nodes, which are similar to masternodes but with an increased level of participation. These Service Nodes are used as a DHT network overlay to support XBridge, XRouter, and XCloud services. In order to support these services, they host full nodes of the blockchains the protocol is compatible with, serve oracle data, verify UTXOs, route communication between blockchains, and perform anti-spam and anti-DOS measures for the network.
Explore Blocknet Network to see how many Service Nodes currently support each digital asset, and much, much more...
Before an asset can be traded on BlockDX, it must be supported by one or more Service Nodes. Blocknet community members have created several web based services to make it easy to discover which assets are currently supported by Service Nodes. Some of these websites actually offer much more information about the Blocknet Network than just how many Service Nodes support each digital asset:
- To list all coins currently supported by Service Nodes for trading on BlockDX, open Tools->Debug Console in your Blocknet wallet and enter:
dxGetNetworkTokens. If using the CLI Blocknet wallet, issue the command,
./blocknet-cli dxGetNetworkTokensfrom the directory where
- CloudChainsServiceExplorer (Thank you @lucien!)
- BlocknetMonitor (Thank you @walkjivefly!)
- BlockDXServiceNodes (Thank you @BuzzkillB!)
- CryptoCoreExplorer (Thank you Telegram user @jimwal!)
- Raw Volume Data
- Staking Rewards Calculator
Operating a Service Node should be viewed as a business since the amount of revenue you generate is completely in your control. You can choose to provide as many services as you'd like. The more services you offer and the higher the quality service you provide, the greater the revenue you will be able to produce. You can also invest in your services by advertising them to developers and selling those services to them. You can develop relationships with developers and gather feedback on the type of services that they would find the most valuable and then capitalize on that by offering those services.
For XBridge services, the fees for trades are currently set at a static 0.015 BLOCK taker fee per trade and are paid out to a random Service Node that supports both of the chains that the trade took place between. In a future update, these fees will be set to a percent of the trade for the taker.
For XRouter and XCloud services, it's a free market model where you are able to specify the amount you want to charge for each call and users get to specify the maximum fee they are willing to pay. The more useful and/or computationally expensive the call, the more valuable it is to the user, and the more you can charge.
XCloud service can vary widely and not everything requires coding. For instance, you can setup a plugin file that allows you to offer CoinMarketCap pricing info via your Service Node for developers to use on-chain. You can set this up in a minute without any programming. This is just one example of an extremely useful service for developers. Not only do they want access to this data, but offering it through Blocknet allows them to pay in crypto, which is much simpler than needing to deal with fiat payments paid via on-chain functions.
More documentation will be added here progressively, but if you have any questions in the meantime feel free to ask in our Discord.
Special Kinds of "Service Nodes" for Advanced users¶
For advanced users, there are 3 special kinds of nodes which are defined as follows:
- testSNODE: A testnet SNode (testSNODE) is an SNODE which runs on testnet instead of mainnet. The collateral for this type of SNode is in tBLOCK (testnet BLOCK) instead of mainnet BLOCK.
- TNODE: A Trading Node (TNODE) is an instance of Blocknet core
which is not configured to run as a Service Node, but is
still configured to connect via XBridge to all the coin wallets you
deploy in the node configuration process. These
connections allow a user to trade on XBridge between any
coins deployed in the configuration process. It also allows,
for example, a Blocknet CLI call to
dxGetLocalTokensto return a list of all the coins you had chosen to support/deploy in the node configuration process.
- testTNODE: A testnet Trading Node (testTNODE) is simply a Trading Node which runs on the testnet instead of the mainnet.