
Your node, your policy
With your own DATUM gateway, your node builds your blocks: it picks the transactions, sets the minimum fee and decides how big the block is. The pool only splits the reward.
For gateways installed with our DATUM in a box script. If you built yours by hand, the same options go in your node's bitcoin.conf.
This chain exists because a few large miners kept producing blocks with transactions that most nodes refused to relay. When every miner builds blocks on their own node, there is no single party left to lean on. That is what you are part of when you run a gateway.
Policy is not consensus
Consensus is what every node on the chain accepts as a valid block. Nobody changes that from a config file. Policy is what your node is willing to relay and put into your blocks. Policy works inside consensus: you can be stricter than the chain requires, never looser. A transaction your node refuses can still be mined by someone else; it just will not be mined by you.
What your node does today
These are the defaults of the node the installer sets up, as reported by the node itself.
| Option | Default | What it decides |
|---|---|---|
| blockmintxfee | 0.00001 | Lowest fee rate (BTC/kvB) a transaction needs to get into your blocks. |
| minrelaytxfee | 0.00001 | Lowest fee rate your node relays and keeps in its mempool. |
| blockmaxweight | 1200000 | Largest block, in weight units, your node will build. |
| blockmaxsize | 300000 | Largest block, in bytes, your node will build. |
| datacarriersize | 83 | Most bytes of arbitrary data allowed in one transaction. 0 refuses all of it. |
| rejectparasites | 1 | Refuse to relay or mine parasitic overlay protocols. |
| rejecttokens | 1 | Refuse to relay or mine transactions involving non-bitcoin tokens. |
| permitbaremultisig | 0 | Bare multisig outputs, an old way of stuffing data into the chain. |
| maxmempool | 200 | MB of memory for unconfirmed transactions (set by the installer). |
There are about forty in all. Your node lists every one with its description and default:
datum-policy options # all of them datum-policy options fee # only the ones that mention "fee"
Changing it: datum-policy
The Linux installer puts one command on the box. See what is set:
datum-policy
Set something, or go back to the default:
sudo datum-policy set blockmintxfee=0.00002 sudo datum-policy unset blockmintxfee
Or open the file, with every common option already in it as a commented example, and change several at once:
sudo datum-policy edit
Changed your mind:
sudo datum-policy undo
Your settings live in /var/lib/knots/policy.conf. The installer creates that file once and never overwrites it, so updates leave your policy alone.
What happens when you apply
- Every line is checked against your node. An option it does not know, a setting that is not a policy setting (the tool will not let you break the RPC link or the pruning), or the same option set twice is refused before anything is touched.
- The node restarts. Your miners get no new work while it does. On our test machine that took about ten seconds; with a large mempool allow a minute or two.
- The tool waits for the node to answer, then asks it to build a block template, the same request your gateway makes.
- If the node refuses to start or cannot build a template, the last policy that worked is put back and the node is restarted again by itself. Your rejected file is kept so you can see what was wrong.
$ sudo datum-policy set minrelaytxfee=banana Checking /var/lib/knots/policy.conf ... OK every option is one this node knows Restarting the node ... WARNING the node refused to start: Error: Invalid amount for -minrelaytxfee=<amount>: 'banana' Putting back the last policy that worked ... ERROR your change was NOT applied; the node is running with the previous policy again.
Does my policy change what I earn?
Your share of each payout comes from the shares you submit, not from what is in your blocks. A stricter policy only matters for a block you find: it may carry a little less in fees, and that block's reward is what gets split. On this chain fees are a tiny part of the reward today. xorpool does not set or require any policy.
Already have a gateway?
Installs made before v1.5.0 can add the command without running the installer again:
curl -fsSLo datum-policy https://raw.githubusercontent.com/bitcoinxor/datum-in-a-box/v1.7.4/datum-policy sudo install -m 755 datum-policy /usr/local/bin/ && datum-policy
It is one readable shell script. Read it on GitHub first if you like.
On macOS and Windows the same policy.conf sits next to bitcoin.conf. Edit it and restart the node as the file describes; the command itself is Linux only for now.
No gateway yet? Set one up, step by step. Questions: ask in the Telegram group.