Qortal Project

The future of blockchain platforms

User Tools

Site Tools


Sidebar

Qortal Project Wiki

Important Notices

Introduction

Project Model

Minting

Communications

Trade Portal

Qortal Hosting (QDN)

Voting System

AT System

Hardware

Frequently Asked Questions (FAQ)

How-To Guides

Node Setup Guides

Third-Party Services

qortal_core

This is an old revision of the document!


Qortal Core

Do I have to run the core and UI at all times? In other words, if the core is running, but the UI is not, am I still minting? You must always have the core running to stay fully synced and “minting”. The UI does not have to be running.

How long does it usually take to sync the chain the first time? It can take up to few days to fully synchronize full chain. For speeding it up, download bootstrap and you database will start to sync from about 95% instead of 0%.

How should settings.json look like? { "maxPeers": 32, "minBlockchainPeers": 8, "apiDocumentationEnabled": true }

My node is taking a long time to sync and get peers. Any solutions? You can try changing your router settings with port forwarding, or virtual server. These different methods have worked for several people. Otherwise, reach out on Discord for further diagnostics and solutions. It is never a good idea to add your node in DMZ. That will stop all the DPI and SPI and if you have the API enabled and white listed, you are putting your computer at risk! DMZ bypasses the SPI mechanism of the built in filters and all the internet traffic can reach your node directly. SPI (stateful packet inspection) firewall protects you by examining incoming packets against existing connections. Also add UPnP text. If a router has it then it must be enabled. UPnP or NAT-pmp opens dynamic port ranges to act as an assist for SPI. Enabling NAT/UPnP solves problem for the most but unfortunately due to the torrent p2p laws most ISPs now filter ports by default at the client side so port forward is also needed. For example:

219.88.183.49:12392 (qortal-1.2.3-2df0453), height 42318, sig: PXNoJM7W, ts 2020-07-31 17:17:24

192.168.100.83:44380 (qortal-1.2.3-2df0453), height 42318, sig: PXNoJM7W, ts 2020-07-31 17:17:24

Look at the second IP address with a dynamic port. This is UPnP working. Instead of 12392 , it has opened a 44380 port for TCP handshake / connect / ACK.

I am seeing the number of connections go up, then back down to 0. You are likely having one of these issues: 1) your system clock is somehow misconfigured, particularly common with Windows systems. Check clock in bottom-right 'system tray' compared with http://time.is/ - if they differ then you need to fix this. Other nodes will refuse to talk to your node if your time is too different. 2) you have some sort of firewall issue. No need to turn off firewall, just allow TCP 12392 (and 12391 if you use API remotely). To add a peer, do you use the IP address? Port? Use hostname or IP address. Port is not needed unless it's non-default. When you install, it does come with node1 to node10.qortal.org pre-added. These work as well: 1) node2.qortal.org 2) 51.83.114.66 3) node2.qortal.org:12392 4) [21c8:4ed::4:5]:12392

Where is the best place to build API calls? http://localhost:12391/api-documentation/

What is the difference between: 1) minBlockchainPeers 2) maxPeers 3) minOutboundPeers?

1) minBlockchainPeers defines minimum needed to mint / genblock 2) maxPeers defines limit cap that will not be exceeded 3) minOutboundPeers defines minimum peers your node is allowed to connect to.

Is there a guide somewhere how to import a QORA seed into core (no GUI) to get minting? Where is the private key? Is it curl -X POST "http://localhost:12391/admin/mintingaccounts" -H "accept: text/plain" -H "Content-Type: text/plain" -d "private key"? You need to publish your reward-share/self-share transaction first, one step of that is generating your reward-share private key, which is what you pass to /admin/mintingaccounts probably easiest to build your API call using the API documentation page /admin/mintingaccounts uses your reward-share private key.

So first call would be: /utils/privatekey with QORA seed as parameter? Yes, to find your public key and you need "apiRestricted": false in API node's settings.json to allow that call. Use /utils/publickey to obtain public key from private key and /utils/privatekey to generate private key from 16-byte entropy (not actually in use, mostly for dev use).

Could I set minBlockchainPeers to 1? Would it mint? It will not mint as self connect does not count. Your node itself is null !=1. Even if you do, you only fork yourself in an isolated LAN and will never sync. This works by connect, tx - rx - verify - store - forward - verify - store — infinity. A safe would be to set at minimum of 10. Not too low and not too high.

Does Qortal support IPv6 software? -Djava.net.preferIPv4Stack=false \ (software is capable). It all comes down to OS capability. GenX is capable. Windows is also IPv6 enabled by default.

If you have a Linux node, this will throttle your overall outbound connections and cap them at 10. It prevents overloading the network and your node in return. Do not use this if you serve a public node:

iptables -A OUTPUT -p tcp –syn –dport 12392 -m connlimit –connlimit-above 10 -j REJECT

If I only want to install & run a node on my Windows server and link the minting rewards to my Wallet (Reward Key), how would this be done? 1. Download JDK standalone installer 2. Use Localhost core IP with a remote UI access to enter reward share key 3. Download core zip for Github (not the full installer).

I upgraded the ram on my VPS so that my browser wouldn't crash while loading the UI perhaps I missed something when rebooting, is there a command I can use to check? Under qortal folder you can check the log file status tail -f log.txt.1

It seems like sometimes most nodes are 2+ blocks behind, why? This is due to your node doing AT state trimming which takes a time worth one or two blocks.

Where can I find what to input in settings.json file?

Default data in settings:

{

  "MAINNET_LISTEN_PORT": 12392,
  "TESTNET_LISTEN_PORT": 62392,
  "MAINNET_API_PORT": 12391,
  "TESTNET_API_PORT": 62391,
  "bindAddress": "::",
  "uiPort": 12388,
  "uiLocalServers": [
      "localhost", "127.0.0.1", "172.24.1.1", "qor.tal"
  ],
  "uiRemoteServers": [
      "node1.qortal.org", "node2.qortal.org", "node3.qortal.org", "node4.qortal.org", "node5.qortal.org",
      "node6.qortal.org", "node7.qortal.org", "node8.qortal.org", "node9.qortal.org", "node10.qortal.org"
  ],
  "apiEnabled": true,
  "apiPort": 12391,
  "apiWhitelist": [
      "::1",
      "127.0.0.1"
  ],
  "apiRestricted": false,
  "apiLoggingEnabled": false,
  "apiDocumentationEnabled": false,
  "sslKeystorePathname": null,
  "sslKeystorePassword": null,
  "wipeUnconfirmedOnStart": false,
  "maxUnconfirmedPerAccount": 25,
  "maxTransactionTimestampFuture": 86400000,
  "autoUpdateEnabled": true,
  "repositoryBackupInterval": 0,
  "showBackupNotification": false,
  "isTestNet": false,
  "listenPort": 12392,
  "minBlockchainPeers": 5,
  "minOutboundPeers": 16,
  "maxPeers": 32,
  "maxNetworkThreadPoolSize": 20,
  "networkPoWComputePoolSize": 2,
  "slowQueryThreshold": null,
  "repositoryPath": "db",
  "autoUpdateRepos": [
      "https://github.com/Qortal/qortal/raw/%s/qortal.update",
      "https://[email protected]/Qortal/qortal/%s/qortal.update"
  ],
  "ntpServers": ["pool.ntp.org",
      "0.pool.ntp.org",
      "1.pool.ntp.org",
      "2.pool.ntp.org",
      "3.pool.ntp.org",
      "cn.pool.ntp.org",
      "0.cn.pool.ntp.org",
      "1.cn.pool.ntp.org",
      "2.cn.pool.ntp.org",
      "3.cn.pool.ntp.org"
  ],
  "testNtpOffset": null

}

My core is at higher block height then height on block explorer,or stuck at some height. What shall I do?

Your core must be running all the time. Do not close window with orphaning before it is orphaned to desired block height.

You can try to orphan to some height (ditch your block height to inputted height): Click here: http://localhost:12391/api-documentation/#/Admin/orphan

Click Try it out

2. Enter desired block height for ditching to (for example: 300000)

3. Then click Execute and keep that page open, it will be like loading all time until your block height is 300000.

Your blocks will start to go down up to that number (300000). When desired height is reached, it will start to sync and then going up.

Height for orphaning to depends, you can try ditching less and then more and more until your node will be on right chain. ( If current height is 302000 try ditch to 300000, if that will not help, try ditch to 298000 and so on… in steps from 1000-2000) No one knows at what block did your core switched to wrong (forked) chain, so it is individual height. If your roll back slows down or looks stuck just quit core and redo all the steps and get rolling back faster!

qortal_core.1631551489.txt.gz · Last modified: 09/13/2021 12:44 by quickmythril