How to deploy Qitmeer Network at Home
In the previous section, we added machines on the internal network to the Qitmeer network via a whitelist solution which is the recommended solution for the project but requires the assistance of a public network server as a prerequisite. If you do not have a public server, you can also consider the intranet port mapping option.
To perform intranet mapping, you must first ensure that your home network is enabled for ADSL Internet access which allows your home network to have a dynamic public IP.
If your home network does not have ADSL Internet access by default, you can request your Internet Service Provider (ISP) to open it, in most cases, the ISP(Internet Service Provider) will open it without further questions.
Checking the router
The example below is from the author’s ASUS router, the author requested the ISP to open the ADSL service and it was immediately approved. The IP that you will see in the picture below is a public IP address.
If you found out that the public address (WAN IP) of the router is the same as the LAN address, it is most likely that your ISP has not yet opened or there is something wrong with your ADSL settings, please troubleshoot it by yourself. Remember that this step is very critical, otherwise, you cannot continue this tutorial.
Check IP address and port
First check the IP address of the intranet server, such as 192.168.50.235 in this example
tony@ubuntu ~ $ ifconfig|grep inet
inet 192.168.50.235 netmask 255.255.255.0 broadcast 192.168.50.255
Then check the port configuration (port) of the server, if the port is not set then look at the network started, if it is a test network (testnet=1) then the default is 18150, if it is the main network (mainnet=1) then the default is 8150. here we started a test network and no port is set, so the port is the default 18150.
$ vi ~/0.10-dev/qitmeer.conf
testnet=1
rpclisten=0.0.0.0:18151
#port=18150
Port Mapping
Next, enter the router’s backend and set up the port mapping, using the Asus router in this article as an example.
Source address: Leave it blank, it means accept any Qitmeer node’s connection
Source port: the external port opened by the router, it is recommended to be the same as the intranet Qitmeer port, here is 18150
Destination address: the IP address of the intranet Qitmeer, fill in the 192.168.50.235 from the previous step
Target port: the port of the intranet Qitmeer, fill in 18150 from the previous step
Launch Qitmeer
With the port mapped, we launch Qitmeer
$ ./build/bin/qitmeer -A ~/0.10-dev
If a block sync log is found, it means the mapping is successful
2021-12-14|11:28:11.988 [INFO ] Syncing to state (211471,211139,211142,219586,5) from peer 16Uiu2HAmHyCuFE86AZt6zrY4bXNUufW8HYLsk4j5oFvsiAfZfEJn cur graph state:(211470,211138,211141,214715,5) module=SYNC
2021-12-14|11:28:22.264 [INFO ] Processed 3 blocks in the last 13s (3 transactions, order 211472, 2021-12-14 11:27:44 +0000 UTC) module=blkmanager
2021-12-14|11:28:22.264 [INFO ] Your synchronization has been completed. module=SYNC
2021-12-14|11:28:22.265 [INFO ] You're up to date now. module=SYNC
You can also use telnet to test the Qitmeer port and the presence of /multistream/1.0.0 also means the mapping is successful. The server address is either a DDNS dynamic domain (if opened) or an IP.
$ telnet EXAMPLE.QITMEER.DDNS 18150
Trying XXX.89.209.68...
Connected to outlier.asuscomm.com.
Escape character is '^]'.
/multistream/1.0.0
Summary
At this point, the series of practical Qitmeer home networking is completed. With both whitelist and port mapping solutions, I believe most of you, who needed to run Qitmeer on your intranet can find a solution that suits you. The public IP is a necessary condition. From this, we can see that the starting point for this network upgrade on the main Qitmeer network is to improve the overall connectivity of the network while fully taking into account the reasonable needs of intranet deployment and providing a flexible solution.
About Qitmeer
Qitmeer is the next-generation public chain based on BlockDAG which is dedicated to serving the ecosystem of Islamic Finance, ethical finance, and socially responsible investment, thereby enhancing financial inclusion and creating social impact.
In contrast to the competition model, BlockDAG’s collaboration model in the mining achieves a desirable balance of typical blockchain metrics among the security, openness, fairness, and scalability.
Qitmeer adopts a classic POW consensus and UTXO data model and designs a unique asset issuing mechanism which requires the reserve of native currency, which is in line with core ethical financial values.
Contact Us
Website / Qitmeer talk / GitHub / Twitter / Facebook / Telegram / Instagram / LinkedIn