Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore!: update to Platform v1.0.0-beta.3 and Core v21 #646

Merged
merged 11 commits into from
Jul 19, 2024
9 changes: 9 additions & 0 deletions ansible/roles/activate_dashd_sporks/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,14 @@
- SPORK_17_QUORUM_DKG_ENABLED
- SPORK_19_CHAINLOCKS_ENABLED
- SPORK_21_QUORUM_ALL_CONNECTED
- SPORK_24_TEST_EHF
when: not (active_sporks.stdout | from_json)[item]
changed_when: spork_update.stdout == "success"

- name: Activate EHF
ansible.builtin.include_role:
name: generate_blocks
vars:
generate: spork_activation
spork_name: SPORK_24_TEST_EHF
when: dash_network in ["devnet", "regtest"] and not (active_sporks.stdout | from_json)["SPORK_24_TEST_EHF"]
9 changes: 8 additions & 1 deletion ansible/roles/dashmate/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,14 @@ platform_drive_instant_lock_quorum_llmq_type:
platform_drive_instant_lock_quorum_dkg_interval:
platform_drive_instant_lock_quorum_active_signers:
platform_drive_instant_lock_quorum_rotation:

dashmate_core_rpc_dashmate_password:
dashmate_core_rpc_dapi_password:
dashmate_core_rpc_drive_consensus_password:
dashmate_core_rpc_drive_check_tx_password:
dashmate_core_rpc_tenderdash_password:
platform_drive_grovedb_visualizer_enabled: false
platform_drive_grovedb_visualizer_host: 127.0.0.1
platform_drive_grovedb_visualizer_port: 8083

# Unsafe params. Use only if you understand what you are doing.
dashmate_platform_drive_tenderdash_consensus_unsafe_override_propose_timeout:
Expand Down
2 changes: 1 addition & 1 deletion ansible/roles/dashmate/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -256,7 +256,7 @@
# dashmate config is changed => restart all

- name: Restart all dashmate services
ansible.builtin.command: "{{ dashmate_cmd }} restart --verbose"
ansible.builtin.command: "{{ dashmate_cmd }} restart --safe --verbose"
become: true
become_user: dashmate
args:
Expand Down
51 changes: 49 additions & 2 deletions ansible/roles/dashmate/templates/dashmate.json.j2
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,50 @@
"rpc": {
"host": "127.0.0.1",
"port": {{ dashd_rpc_port }},
"user": "{{ dashd_rpc_user }}",
"password": "{{ dashd_rpc_password }}",
"users": {
"{{ dashd_rpc_user }}": {
"password": "{{ dashd_rpc_password }}",
"whitelist": null,
"lowPriority": false
},
"dashmate": {
"password": "{{ dashmate_core_rpc_dashmate_password }}",
"whitelist": null,
"lowPriority": false
},
"dapi": {
"password": "{{ dashmate_core_rpc_dapi_password }}",
"whitelist": [
"getbestblockhash", "getblockhash", "sendrawtransaction", "getrawtransaction",
"getblockstats", "getmerkleblocks", "getrawtransactionmulti", "getrawmempool",
"getblockcount", "getbestchainlock", "getblock", "getblockheader", "getblockheaders",
"protxdiff", "getnetworkinfo", "getblockchaininfo", "mnsyncstatus", "masternodestatus"
],
"lowPriority": true
},
"drive_consensus": {
"password": "{{ dashmate_core_rpc_drive_consensus_password }}",
"whitelist": [
"getbestchainlock", "getblockchaininfo", "getrawtransaction", "submitchainlock",
"verifychainlock", "protxlistdiff", "quorumlistextended", "quoruminfo",
"getassetunlockstatuses", "sendrawtransaction", "mnsyncstatus"
],
"lowPriority": false
},
"drive_check_tx": {
"password": "{{ dashmate_core_rpc_drive_check_tx_password }}",
"whitelist": ["getrawtransaction"],
"lowPriority": true
},
"tenderdash": {
"password": "{{ dashmate_core_rpc_tenderdash_password }}",
"whitelist": [
"quoruminfo", "quorumverify", "quorumsign", "masternodestatus", "masternodelist",
"ping", "getnetworkinfo"
],
"lowPriority": false
}
},
"allowIps": [
"{{ private_ip | ansible.utils.ipsubnet(16) }}",
"127.0.0.0",
Expand Down Expand Up @@ -230,6 +272,11 @@
"color": null
}{% endif %}
},
"grovedbVisualizer": {
"enabled": {% if platform_drive_grovedb_visualizer_enabled %}true{% else %}false{% endif %},
"host": "{{ platform_drive_grovedb_visualizer_host }}",
"port": {{ platform_drive_grovedb_visualizer_port }}
},
"tokioConsole": {
"enabled": false,
"host": "127.0.0.1",
Expand Down
14 changes: 13 additions & 1 deletion ansible/roles/generate_blocks/tasks/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@

- name: Fail if vars are not set properly
ansible.builtin.fail:
msg: 'num_blocks, balance_needed or txid_list must always be set according to the value of generate'
msg: 'num_blocks, balance_needed, txid_list or spork_name must always be set according to the value of generate'
when: >
(generate == 'blocks' and num_blocks is not defined) or
(generate == 'balance' and target_balance is not defined) or
(generate == 'confirmations' and (txid_list is not defined or tx_source is not defined))
(generate == 'spork_activation' and spork_name is not defined)

- name: Specify which networks permit generating blocks
ansible.builtin.set_fact:
Expand Down Expand Up @@ -63,6 +64,17 @@
delay: 10
changed_when: gettransaction_result.rc == 0

# Option: spork_activation

- name: Wait for activation of spork {{ spork_name }}
ansible.builtin.command: dash-cli spork active
when: generate == 'spork_activation'
register: active_sporks
until: (active_sporks.stdout | from_json)[spork_name]
retries: 200
delay: 10
changed_when: active_sporks.rc == 0

# Stop mining

- name: Stop generating blocks
Expand Down
13 changes: 13 additions & 0 deletions lib/configGenerator/generateAnsibleConfig.js
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,19 @@ async function generateAnsibleConfig(
config.dashd_sporkaddr = sporkPrivateKey.toAddress(network).toString();
config.dashd_sporkkey = sporkPrivateKey.toWIF();

config.dashd_rpc_password = crypto.randomBytes(32).toString('base64').slice(0, 32);

config.dashmate_core_rpc_dashmate_password = crypto.randomBytes(32)
.toString('base64').slice(0, 32);
config.dashmate_core_rpc_dapi_password = crypto.randomBytes(32)
.toString('base64').slice(0, 32);
config.dashmate_core_rpc_drive_consensus_password = crypto.randomBytes(32)
.toString('base64').slice(0, 32);
config.dashmate_core_rpc_drive_check_tx_password = crypto.randomBytes(32)
.toString('base64').slice(0, 32);
config.dashmate_core_rpc_tenderdash_password = crypto.randomBytes(32)
.toString('base64').slice(0, 32);

// Elastic keys
config.elastic_password = crypto.randomBytes(32).toString('base64').slice(0, 32);
config.kibana_password = crypto.randomBytes(32).toString('base64').slice(0, 32);
Expand Down
Loading