Skip to content
This repository has been archived by the owner on Oct 20, 2023. It is now read-only.

Releases: oliverw/miningcore

Release 0.20

10 Mar 15:30
df5ecf2
Compare
Choose a tag to compare

Changes

  • Don't enforce daemon owning pool wallet if payment-processing is disabled
  • Persistence configuration is optional if payment-processing is disabled and the pool is in relay-mode
  • Share relay config
  • Dummy persistence
  • Bitcoin ZMQ block notify topic is now configurable
  • Share relay connect option
  • BTCP explorer links
  • ZCash & BTCP PowLimit configuration
  • Block effort calc
  • Fix BTCP hashrate hack
  • Blockinfo API results
  • Increase write throuput of share db inserts
  • Monero double transfer RPC failure response handling

Database Migration

ALTER TABLE shares ADD source TEXT NULL;
ALTER TABLE blocks ADD source TEXT NULL;
ALTER TABLE blocks ADD hash TEXT NULL;
ALTER TABLE poolstats ADD sharespersecond DOUBLE PRECISION NOT NULL DEFAULT 0;

Release 19

26 Feb 17:56
Compare
Choose a tag to compare

Changes

  • BalanceChange API
  • Fix ZCash shielding for coins other than ZCash (ZCL, ZEN, BTCP etc)
  • Fixed t-addr balance calculation for ShieldCoinbaseEmulatedAsync (ZCL, ZEN, BTCP etc)
  • Support multiple external stratums
  • Share relay (instead of persisting shares to the database, relay them using ZMQ to a master pool - useful for clustering)

Breaking Changes

  • Pool configuration option externalStratum has been removed
  • Pool configuration options externalStratumZmqSocket and externalStratumZmqTopic have been replaced by an array of objects:
"externalStratums": [{
    "url": "tcp://localhost:13032",
    "topic": "xmr1"
}]

Release 18

22 Feb 10:28
618bba4
Compare
Choose a tag to compare
  • Payment Processing crash fix (invalid tablename balances_changes)
  • Drop Id column for shares table
  • Add index on table balance_changes
  • API Hashrate case consolidation

Database Migration

Miningcore needs to be stopped briefly for the following change:

ALTER TABLE shares DROP id;

Other migrations:

CREATE INDEX IDX_BALANCE_CHANGES_POOL_ADDRESS_CREATED on balance_changes(poolid, address, created desc);

Release 0.17

21 Feb 20:00
3988706
Compare
Choose a tag to compare

Changes

  • Ignore redundant ZMQ block hash updates for the same block from multiple daemons
  • Disable stratum method suggest_difficulty for now
  • Job management change
  • Runtime info logging
  • Fixed GBX, CRC
  • Do not return stale miner performance stats via API
  • VarDiff maxDelta support
  • Validate Monero PaymentID on login
  • Do not send work until login is complete. Fixes #204
  • Blake2s hash integration
  • Support for Legacy Bitcoin daemons. Fixes #77, #119
  • Verge (XVG) integration
  • Neoscrypt fix
  • Legacy daemon fix
  • improved POW/POS check
  • Logging of block submissions
  • BlockRewardMultiplier
  • Increase Pg Command Timeout
  • Added payment audit-trail
  • Fixes #194, #216

Database Migration

DROP INDEX IDX_SHARES_POOL_BLOCK;
CREATE INDEX IDX_SHARES_POOL_MINER_DIFFICULTY on shares(poolid, miner, difficulty);
ALTER TABLE blocks ADD miner TEXT NULL;

CREATE TABLE balance_changes
(
	id BIGSERIAL NOT NULL PRIMARY KEY,
	poolid TEXT NOT NULL,
	coin TEXT NOT NULL,
	address TEXT NOT NULL,
	amount decimal(28,12) NOT NULL DEFAULT 0,
	usage TEXT NULL,
	created TIMESTAMP NOT NULL
);

Release 0.16

26 Jan 19:21
8996c0d
Compare
Choose a tag to compare

Changes

  • Made RPC polling optional
  • Update configuration examples to be closer to real world usage
  • Added no RPC polling config example
  • Don't expose payment processing config extension data via API. Fixes #103
  • Keep extra data in api result but sanitize it first
  • Increase PG command timeout
  • Add support for ZEN and XVG
  • Return Coin POW Algorithm in API results
  • Expose pool total miner earnings via API
  • Improved LTC block explorer links
  • Neoscrypt update
  • Neoscrypt tests
  • Support GBX, CRC and XVG (Verge)
  • Don't tie ZMQ block notify to a single address. Fixes #183
  • X17 hash integration
  • Drop paged retries from Monero Payments as those won't work anyway when transfer_split fails.
  • Support Verge X17 variant
  • Added support for MaxActiveJobs Bitcoin Pool extra config

Configuration Changes

  • The pool configuration parameter zmqBlockNotifySocket introduced in the previous release, has been moved to the daemon configuration element to enable receiving block update notifications from multiple daemons as a single unified notification stream.

Release 0.15

15 Jan 17:05
2c62848
Compare
Choose a tag to compare

Changes

  • Support ZMQ block notify for Bitcoin family. Fixes #151.
  • Adjust Lyra2v2 Hashrate multiplier. Fixes #168
  • Made RPC polling optional
  • Updated configuration examples to be closer to real world usage
  • Added no-RPC-polling config example

Notes

We now support streaming Block Notifications via ZeroMQ messaging from Bitcoin Family daemons. This greatly reduces the latency for detecting new blocks, while eliminating the need for aggressively fast polling for updates. This is achieved by the new configuration option zmqBlockNotifySocket at the pool-configuration root level. The value of this option is a string that should match the value of the -zmqpubhashblock parameter passed to the coin daemon.

Release 0.14

12 Jan 17:13
4172624
Compare
Choose a tag to compare

Changes

  • Log and record miner submitting block solution
  • Fix top miner query
  • Don't expose disabled pools via API
  • External socket binding
  • API Fix
  • Monero: address validation fixes
  • Monero: More Monero integrated address fixes
  • Monero: Better handling for invalid payment Ids
  • Monero: Payout-batch address fix
  • Monero: Actually detect network type in payout handler

Database Migration

update minerstats set worker = '' where worker is null;
alter table minerstats alter column worker SET NOT NULL;
alter table blocks add miner TEXT NULL;

Release 0.13

09 Jan 19:40
23d4e75
Compare
Choose a tag to compare

This releases focuses on the long promised API enhancements. Please refer to this page for the latest documentation.

Changes

  • Package update
  • Switch back to dedicated loop thread per stratum port instead of per stratum
  • Maintain maximum hashrate precision as long as possible.
  • Min window adjustment
  • Miner payments API - Improves #27
  • Pool Top Miners API - Improves #27
  • API no longer requires on a pool to be running to respond. It just needs to configured - Improves #27
  • Prevent startup exception for externals
  • Fix last block time
  • Miner performance API for per-worker hashrate graphs (daily, monthly) - Improves #27
  • Hashrate calculation safeguards
  • Various StatsRepository fixes

Database Migration

ALTER TABLE poolstats ADD networkhashrate DOUBLE PRECISION NOT NULL DEFAULT 0;
ALTER TABLE poolstats ADD networkdifficulty DOUBLE PRECISION NOT NULL DEFAULT 0;
ALTER TABLE poolstats ADD lastnetworkblocktime TIMESTAMP NULL;
ALTER TABLE poolstats ADD blockheight BIGINT NOT NULL DEFAULT 0;
ALTER TABLE poolstats ADD connectedpeers INT NOT NULL DEFAULT 0;

CREATE INDEX IDX_MINERSTATS_POOL_MINER_CREATED_DAY on minerstats(poolid, miner, date_trunc('day',created));

Release 0.12

02 Jan 13:51
Compare
Choose a tag to compare
  • rename BCC to BCH (#127)
  • Electroneum Support (ETN)
  • Lyra Hashrate Multiplier
  • STAK hashrate fix
  • Change API to align with latest wiki docs
  • Added Electroneum in README
  • Improved Monero transfer failure handling
  • Do not emit UTF-8 BOM in Api responses (Fixes #124)
  • cleanup masternode code for straks (#140)

Release 0.11

29 Dec 10:35
8acbf4f
Compare
Choose a tag to compare

Changes

  • Log block height for balance changes
  • Fix share traversal during payout calculations
  • Log one address per line during payout calculations
  • Compute miner/worker hashrates from database instead of buffering shares in memory
  • PPLNS fixes
  • ZCash shield coinbase fix

Database migration

CREATE TABLE minerstats
(
  id BIGSERIAL NOT NULL PRIMARY KEY,
  poolid TEXT NOT NULL,
  miner TEXT NOT NULL,
  worker TEXT NULL,
  hashrate DOUBLE PRECISION NOT NULL DEFAULT 0,
  sharespersecond DOUBLE PRECISION NOT NULL DEFAULT 0,
  created TIMESTAMP NOT NULL
);

CREATE INDEX IDX_MINERSTATS_POOL_CREATED on minerstats(poolid, created);
CREATE INDEX IDX_MINERSTATS_POOL_MINER_CREATED on minerstats(poolid, miner, created);
CREATE INDEX IDX_MINERSTATS_POOL_MINER_CREATED_HOUR on minerstats(poolid, miner, date_trunc('hour',created));