From c55801c8b2307bd79591538aa4cd3defdfdace53 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 15:42:58 +0700 Subject: [PATCH 1/8] chore(dashmate): configure mainnet --- .github/workflows/release.yml | 2 +- .../configs/defaults/getBaseConfigFactory.js | 14 +++---- .../defaults/getMainnetConfigFactory.js | 37 ++++++++++++++++++- .../defaults/getTestnetConfigFactory.js | 6 --- .../setup/setupRegularPresetTaskFactory.js | 3 +- 5 files changed, 45 insertions(+), 17 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9d2d8775921..036e6ac49c4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -137,7 +137,7 @@ jobs: image_name: drive target: drive-abci - release-drive-dapi: + release-dapi-image: name: Release DAPI image secrets: inherit uses: ./.github/workflows/release-docker-image.yml diff --git a/packages/dashmate/configs/defaults/getBaseConfigFactory.js b/packages/dashmate/configs/defaults/getBaseConfigFactory.js index bd64d6c802e..ae8bedb506d 100644 --- a/packages/dashmate/configs/defaults/getBaseConfigFactory.js +++ b/packages/dashmate/configs/defaults/getBaseConfigFactory.js @@ -332,10 +332,10 @@ export default function getBaseConfigFactory(homeDir) { cacheSize: 15000, size: 5000, maxTxsBytes: 1073741824, - timeoutCheckTx: '0', - txEnqueueTimeout: '0', - txSendRateLimit: 0, - txRecvRateLimit: 0, + timeoutCheckTx: '1s', + txEnqueueTimeout: '10ms', + txSendRateLimit: 10, + txRecvRateLimit: 12, maxConcurrentCheckTx: 250, }, consensus: { @@ -388,8 +388,8 @@ export default function getBaseConfigFactory(homeDir) { app_version: '1', }, timeout: { - propose: '30000000000', - propose_delta: '1000000000', + propose: '40000000000', + propose_delta: '5000000000', vote: '2000000000', vote_delta: '500000000', commit: '1000000000', @@ -397,7 +397,7 @@ export default function getBaseConfigFactory(homeDir) { }, synchrony: { message_delay: '32000000000', - precision: '500000000', + precision: '1000000000', }, abci: { recheck_tx: true, diff --git a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js index a744b69d763..9a3a0c9c762 100644 --- a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js @@ -36,7 +36,42 @@ export default function getMainnetConfigFactory(homeDir, getBaseConfig) { }, network: NETWORK_MAINNET, platform: { - enable: false, + tenderdash: { + p2p: { + seeds: [ + { + id: '069639dfceec5f7c86257e6e9c46407c16ad1eab', + host: '34.211.174.194', + port: 26656, + }, + { + id: 'd46e2445642b2f94158ac3c2a6d90b88b83705b8', + host: '3.76.148.150', + port: 26656, + }, + { + id: 'b08a650ecfac178939f21c0c12801eccaf18a5ea', + host: '3.0.60.103', + port: 26656, + }, + { + id: '4cb4a8488eb1dbabda7fb79e47ac3c14eec73c4f', + host: '188.166.140.47', + port: 26656, + }, + ], + }, + mempool: { + timeoutCheckTx: '3s', + txEnqueueTimeout: '30ms', + txSendRateLimit: 100, + txRecvRateLimit: 120, + }, + genesis: { + chain_id: 'dash-mainnet-1', + validator_quorum_type: 4, + }, + }, }, }; diff --git a/packages/dashmate/configs/defaults/getTestnetConfigFactory.js b/packages/dashmate/configs/defaults/getTestnetConfigFactory.js index 477bbae1473..1e2aa440b01 100644 --- a/packages/dashmate/configs/defaults/getTestnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getTestnetConfigFactory.js @@ -95,12 +95,6 @@ export default function getTestnetConfigFactory(homeDir, getBaseConfig) { ], port: 36656, }, - mempool: { - timeoutCheckTx: '1s', - txEnqueueTimeout: '10ms', - txSendRateLimit: 10, - txRecvRateLimit: 12, - }, rpc: { port: 36657, timeoutBroadcastTx: '1s', diff --git a/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js b/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js index 2e02b6cb0ba..26a5883d4bb 100644 --- a/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js @@ -83,8 +83,7 @@ export default function setupRegularPresetTaskFactory( ctx.config = defaultConfigs.get(ctx.preset); - // TODO: We need to change this and enable platform on mainnet - ctx.config.set('platform.enable', ctx.isHP && ctx.config.get('network') !== PRESET_MAINNET); + ctx.config.set('platform.enable', ctx.isHP); ctx.config.set('core.masternode.enable', ctx.nodeType === NODE_TYPE_MASTERNODE); if (ctx.config.get('core.masternode.enable')) { From 5beafc6037520bb17324070c737c630a0d5d6c95 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 16:09:32 +0700 Subject: [PATCH 2/8] chore: add migration --- .../configs/getConfigFileMigrationsFactory.js | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index 41e15f806fd..82c168f9d27 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -23,6 +23,7 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) function getConfigFileMigrations() { const base = defaultConfigs.get('base'); const testnet = defaultConfigs.get('testnet'); + const mainnet = defaultConfigs.get('mainnet'); /** * @param {string} name @@ -733,6 +734,26 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) }); return configFile; }, + '1.0.0': (configFile) => { + Object.entries(configFile.configs) + .forEach(([name, options]) => { + if (name === 'base') { + options.platform.drive.tenderdash.mempool = base.get('platform.drive.tenderdash.mempool'); + options.platform.drive.tenderdash.genesis = base.get('platform.drive.tenderdash.gensis'); + } + + if (options.network === NETWORK_MAINNET) { + options.platform.drive.tenderdash.p2p = mainnet.get('platform.drive.tenderdash.p2p'); + options.platform.drive.tenderdash.mempool = mainnet.get('platform.drive.tenderdash.mempool'); + options.platform.drive.tenderdash.genesis = mainnet.get('platform.drive.tenderdash.genesis'); + + if (options.platform.drive.tenderdash.node.id !== null) { + options.platform.enable = true; + } + } + }); + return configFile; + }, }; } From 20d8c3b049dffe31cb16ce26a8521e35f2b9acf0 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 16:18:57 +0700 Subject: [PATCH 3/8] fix: invalid option name --- packages/dashmate/configs/getConfigFileMigrationsFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index 82c168f9d27..8cb9d1a037a 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -739,7 +739,7 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) .forEach(([name, options]) => { if (name === 'base') { options.platform.drive.tenderdash.mempool = base.get('platform.drive.tenderdash.mempool'); - options.platform.drive.tenderdash.genesis = base.get('platform.drive.tenderdash.gensis'); + options.platform.drive.tenderdash.genesis = base.get('platform.drive.tenderdash.genesis'); } if (options.network === NETWORK_MAINNET) { From 8ab5bec1f38308bb3ba5a3e2703eb99311ad8559 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 16:19:35 +0700 Subject: [PATCH 4/8] refactor: remove unused variable --- .../src/listr/tasks/setup/setupRegularPresetTaskFactory.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js b/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js index 26a5883d4bb..76949757aa3 100644 --- a/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js +++ b/packages/dashmate/src/listr/tasks/setup/setupRegularPresetTaskFactory.js @@ -5,7 +5,6 @@ import chalk from 'chalk'; import { NODE_TYPE_MASTERNODE, NODE_TYPE_FULLNODE, - PRESET_MAINNET, } from '../../../constants.js'; import { From c072e5616ee18c20fa6a7ab249c9184a56690a3d Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 16:39:07 +0700 Subject: [PATCH 5/8] chore: update network name --- packages/dashmate/configs/defaults/getMainnetConfigFactory.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js index 9a3a0c9c762..6e2388ac441 100644 --- a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js @@ -68,7 +68,7 @@ export default function getMainnetConfigFactory(homeDir, getBaseConfig) { txRecvRateLimit: 120, }, genesis: { - chain_id: 'dash-mainnet-1', + chain_id: 'dash-1', validator_quorum_type: 4, }, }, From 1ca864eede038482c67d8cbc6fee5f1b5778f2c3 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 17:56:39 +0700 Subject: [PATCH 6/8] fix: config migration --- .../defaults/getMainnetConfigFactory.js | 71 ++++++++++--------- .../configs/getConfigFileMigrationsFactory.js | 4 +- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js index 6e2388ac441..10e050bc97e 100644 --- a/packages/dashmate/configs/defaults/getMainnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getMainnetConfigFactory.js @@ -36,40 +36,43 @@ export default function getMainnetConfigFactory(homeDir, getBaseConfig) { }, network: NETWORK_MAINNET, platform: { - tenderdash: { - p2p: { - seeds: [ - { - id: '069639dfceec5f7c86257e6e9c46407c16ad1eab', - host: '34.211.174.194', - port: 26656, - }, - { - id: 'd46e2445642b2f94158ac3c2a6d90b88b83705b8', - host: '3.76.148.150', - port: 26656, - }, - { - id: 'b08a650ecfac178939f21c0c12801eccaf18a5ea', - host: '3.0.60.103', - port: 26656, - }, - { - id: '4cb4a8488eb1dbabda7fb79e47ac3c14eec73c4f', - host: '188.166.140.47', - port: 26656, - }, - ], - }, - mempool: { - timeoutCheckTx: '3s', - txEnqueueTimeout: '30ms', - txSendRateLimit: 100, - txRecvRateLimit: 120, - }, - genesis: { - chain_id: 'dash-1', - validator_quorum_type: 4, + enable: false, + drive: { + tenderdash: { + p2p: { + seeds: [ + { + id: '069639dfceec5f7c86257e6e9c46407c16ad1eab', + host: '34.211.174.194', + port: 26656, + }, + { + id: 'd46e2445642b2f94158ac3c2a6d90b88b83705b8', + host: '3.76.148.150', + port: 26656, + }, + { + id: 'b08a650ecfac178939f21c0c12801eccaf18a5ea', + host: '3.0.60.103', + port: 26656, + }, + { + id: '4cb4a8488eb1dbabda7fb79e47ac3c14eec73c4f', + host: '188.166.140.47', + port: 26656, + }, + ], + }, + mempool: { + timeoutCheckTx: '3s', + txEnqueueTimeout: '30ms', + txSendRateLimit: 100, + txRecvRateLimit: 120, + }, + genesis: { + chain_id: 'dash-1', + validator_quorum_type: 4, + }, }, }, }, diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index 8cb9d1a037a..c9ed7375856 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -740,9 +740,7 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) if (name === 'base') { options.platform.drive.tenderdash.mempool = base.get('platform.drive.tenderdash.mempool'); options.platform.drive.tenderdash.genesis = base.get('platform.drive.tenderdash.genesis'); - } - - if (options.network === NETWORK_MAINNET) { + } else if (options.network === NETWORK_MAINNET) { options.platform.drive.tenderdash.p2p = mainnet.get('platform.drive.tenderdash.p2p'); options.platform.drive.tenderdash.mempool = mainnet.get('platform.drive.tenderdash.mempool'); options.platform.drive.tenderdash.genesis = mainnet.get('platform.drive.tenderdash.genesis'); From 0d557b4833492a3813b19c99e032fe864f518242 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 21:19:31 +0700 Subject: [PATCH 7/8] chore: migrate tenderdash image --- packages/dashmate/configs/getConfigFileMigrationsFactory.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index c9ed7375856..1f2ec2cef29 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -749,6 +749,9 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) options.platform.enable = true; } } + + // Update tenderdash image + options.platform.drive.tenderdash.docker.image = base.get('platform.drive.tenderdash.docker.image'); }); return configFile; }, From f4adce35af9ca9bcf6da1bceb98f4059036f4633 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 29 Jul 2024 21:43:54 +0700 Subject: [PATCH 8/8] chore: update core image --- packages/dashmate/configs/defaults/getBaseConfigFactory.js | 2 +- packages/dashmate/configs/defaults/getLocalConfigFactory.js | 4 ---- packages/dashmate/configs/defaults/getTestnetConfigFactory.js | 4 ---- packages/dashmate/configs/getConfigFileMigrationsFactory.js | 1 + 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/packages/dashmate/configs/defaults/getBaseConfigFactory.js b/packages/dashmate/configs/defaults/getBaseConfigFactory.js index d02b8e20eb2..b671976c609 100644 --- a/packages/dashmate/configs/defaults/getBaseConfigFactory.js +++ b/packages/dashmate/configs/defaults/getBaseConfigFactory.js @@ -54,7 +54,7 @@ export default function getBaseConfigFactory(homeDir) { port: 3001, }, docker: { - image: 'dashpay/dashd:20', + image: 'dashpay/dashd:21', commandArgs: [], }, p2p: { diff --git a/packages/dashmate/configs/defaults/getLocalConfigFactory.js b/packages/dashmate/configs/defaults/getLocalConfigFactory.js index eb1a4100557..ebc4e014aed 100644 --- a/packages/dashmate/configs/defaults/getLocalConfigFactory.js +++ b/packages/dashmate/configs/defaults/getLocalConfigFactory.js @@ -24,10 +24,6 @@ export default function getLocalConfigFactory(getBaseConfig) { }, }, core: { - docker: { - image: 'dashpay/dashd:21.0.0-rc.2', - commandArgs: [], - }, p2p: { port: 20001, }, diff --git a/packages/dashmate/configs/defaults/getTestnetConfigFactory.js b/packages/dashmate/configs/defaults/getTestnetConfigFactory.js index 1e2aa440b01..d21310ee2d0 100644 --- a/packages/dashmate/configs/defaults/getTestnetConfigFactory.js +++ b/packages/dashmate/configs/defaults/getTestnetConfigFactory.js @@ -24,10 +24,6 @@ export default function getTestnetConfigFactory(homeDir, getBaseConfig) { }, }, core: { - docker: { - image: 'dashpay/dashd:21.0.0-rc.2', - commandArgs: [], - }, p2p: { port: 19999, }, diff --git a/packages/dashmate/configs/getConfigFileMigrationsFactory.js b/packages/dashmate/configs/getConfigFileMigrationsFactory.js index 1f2ec2cef29..c077de0bd3a 100644 --- a/packages/dashmate/configs/getConfigFileMigrationsFactory.js +++ b/packages/dashmate/configs/getConfigFileMigrationsFactory.js @@ -752,6 +752,7 @@ export default function getConfigFileMigrationsFactory(homeDir, defaultConfigs) // Update tenderdash image options.platform.drive.tenderdash.docker.image = base.get('platform.drive.tenderdash.docker.image'); + options.core.docker.image = base.get('core.docker.image'); }); return configFile; },