{"id":21529169,"url":"https://github.com/everx-labs/ever-node-tools","last_synced_at":"2025-04-09T23:43:11.279Z","repository":{"id":40248161,"uuid":"275767524","full_name":"everx-labs/ever-node-tools","owner":"everx-labs","description":"Tools for Everscale/Venom node","archived":false,"fork":false,"pushed_at":"2024-04-21T06:54:25.000Z","size":606,"stargazers_count":15,"open_issues_count":0,"forks_count":11,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-24T01:35:35.289Z","etag":null,"topics":["blockchain","everscale","rust","venom-blockchain","venom-developer-program","venom-tools"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/everx-labs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-06-29T07:55:44.000Z","updated_at":"2024-05-17T16:50:35.000Z","dependencies_parsed_at":"2023-12-27T08:25:29.282Z","dependency_job_id":"f10c3367-b67e-48e3-8547-a7ff9013cd33","html_url":"https://github.com/everx-labs/ever-node-tools","commit_stats":null,"previous_names":["everx-labs/ever-node-tools"],"tags_count":270,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2Fever-node-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2Fever-node-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2Fever-node-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/everx-labs%2Fever-node-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/everx-labs","download_url":"https://codeload.github.com/everx-labs/ever-node-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248131467,"owners_count":21052819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","everscale","rust","venom-blockchain","venom-developer-program","venom-tools"],"created_at":"2024-11-24T01:56:03.838Z","updated_at":"2025-04-09T23:43:11.239Z","avatar_url":"https://github.com/everx-labs.png","language":"Rust","readme":"# WARNING! This repository is obsolete\n\nTools for Everscale/Venom blockchains were merged into Everscale/Venom node repository https://github.com/tonlabs/ever-node.git\n\n# ever-node-tools\n\nTools for Everscale/Venom blockchains\n\n## Table of Contents\n\n- [About](#about)\n- [Getting Started](#getting-started)\n- [Usage](#usage)\n- [Contributing](#contributing)\n- [License](#license)\n\n## About\n\nThis repository contains a collection of tools used to manage the Everscale/Venom node.\n\n## Getting Started\n\n### Prerequisites\n\n- Rust complier v1.65+.\n- OpenSSL \n    ```bash\n    sudo apt-get install libssl-dev (openssl-devel on Fedora)\n    sudo apt-get install pkg-config\n    ```\n### Installing\n\n```\ngit clone --recurse-submodules https://github.com/tonlabs/ever-rldp.git\ncd ever-rldp\ncargo build --release\n```\n\n## Usage\n\n# console\n\nThis tool serves the purpose of generating election requests for the Rust Node. The tool is compatible with [TONOS-CLI](https://github.com/tonlabs/tonos-cli) and allows to perform all actions necessary to obtain a signed election request.\n\n### Command syntax\n\n```bash\nconsole -C console.json -c \"commamd with parameters\" -c \"another command\" -t timeout\n```\n\nWhere\n\n`console.json` - path to configuration file\n\n`commamd with parameters`/ `another command` – any of the supported console commands with necessary parameters\n\n`timeout` – command timeout in seconds\n\nConfiguration file should be created manually and have the following format:\n\n```json\n{\n\t\t\"config\": {\n\t\t\t\t\"server_address\": \"127.0.0.1:4924\",\n\t\t\t\t\"server_key\": {\n\t\t\t\t\t\t\"type_id\": 1209251014,\n\t\t\t\t\t\t\"pub_key\": \"cujCRU4rQbSw48yHVHxQtRPhUlbo+BuZggFTQSu04Y8=\"\n\t\t\t\t},\n\t\t\t\t\"client_key\": {\n\t\t\t\t\t\t\"type_id\": 1209251014,\n\t\t\t\t\t\t\"pvt_key\": \"oEivbTDjSOSCgooUM0DAS2z2hIdnLw/PT82A/OFLDmA=\"\n\t\t\t\t}\n\t\t},\n\t\t\"wallet_id\": \"-1:af17db43f40b6aa24e7203a9f8c8652310c88c125062d1129fe883eaa1bd6763\",\n\t\t\"max_factor\": 2.7\n}\n```\n\nWhere\n\n`server_address` – address and port of the node.\n\n`server_key` – structure containing server public key. Can be generated with keygen tool.\n\n`client_key` – structure containing client private key. Can be generated with keygen tool.\n\n`type_id` – key type, indicating ed25519 is used. Should not be changed.\n\n`wallet_id` – validator wallet address.\n\n`max_factor` – [max_factor](https://docs.ton.dev/86757ecb2/p/456977-validator-elections) stake parameter (maximum ratio allowed between your stake and the minimal\n validator stake in the elected validator group), should be ≥ 1\n \n### Commands\n\n#### election-bid\n\n**`election-bid`** - obtains required information from the blockchain, generates all the necessary keys for validator, prepares the message in predefined format, asks to sign it and sends to the blockchain.\n\nparams:\n\n• `election-start` - unixtime of election start.\n\n• `election-end` - unixtime of election end.\n\n• `filename` - filename with path to save body of message (\"validator-query.boc\" by default)\n\nExample:\n\n```bash\nconsole -c \"election-bid 1608205174 1608288600\"\n```\n\nCommand calls all other necessary subcommands automatically. Election request is written to file.\n\n\n#### recover_stake\n\n**`recover_stake`** – recovers all or part of the validator stake from elector.\n\nparams:\n\n• `filename` - filename with path to save body of message (\"recover-query.boc\" by default)\n\nExample:\n\n```bash\nconsole -c \"recover_stake\"\n```\n\n#### newkey\n\n**`newkey`** - generates new key pair on server.\n\nCommand has no parameters.\n\nReturns ed25519 hash of public key in hex and base64 format.\n\nExample:\n\n```bash\nconsole -c \"newkey\"\n```\n\n#### exportpub\n\n**`exportpub`** - exports public key by key hash.\n\nparams:\n\n• `key_hash` - ed25519 hash of public key in hex or base64 format.\n\nReturns public_key - ed25519 public key in hex and base64 format.\n\nExample:\n\n```bash\nconsole -c \"exportpub 4374376452376543\"\n```\n\n#### sign\n\n**`sign`** - signs bytestring with private key.\n\nparams:\n\n• `key_hash` - ed25519 hash of public key in hex or base64 format.\n\n• `data` - data in hex or base64 format.\n\nExample:\n\n```bash\nconsole -c \"sign 4374376452376543 af17db43f40b6aa24e7203a9f8c8652310c88c125062d1129f\"\n```\n\n#### addpermkey\n\n**`addpermkey`** - adds validator permanent key\n\nparams:\n\n• `key_hash` - ed25519 hash of public key in hex or base64 format.\n\n• `election-date` - election start in unixtime.\n\n• `expire-at`- time the key expires and is deleted from node, in unixtime.\n\nExample:\n\n```bash\nconsole -c \"addpermkey 4374376452376543 1608205174 1608288600\"\n```\n\n#### addtempkey\n\n**`addtempkey`** - adds validator temporary key.\n\nparams:\n\n• `perm_key_hash` - ed25519 hash of permanent public key in hex or base64 format.\n\n• `key_hash` - ed25519 hash of public key in hex or base64 format.\n\n• `expire-at` - time the key expires and is deleted from node, in unixtime.\n\nExample:\n\n```bash\nconsole -c \"addtempkey 4374376452376543 6783978551824553 1608288600\"\n```\n\n#### addvalidatoraddr\n\n**`addvalidatoraddr`** - adds validator ADNL address.\n\nparams:\n\n• `perm_key_hash` - ed25519 hash of permanent public key in hex or base64 format.\n\n• `key_hash` - ed25519 hash of public key in hex or base64 format.\n\n• `expire-at`- time the ADNL address expires and is deleted from node, in unixtime.\n\nExample:\n\n```bash\nconsole -c \"addvalidatoraddr 4374376452376543 6783978551824553 1608288600\"\n```\n\n#### addadnl\n\n**`addadnl`** – sets key as ADNL address.\n\nparams:\n\n• `perm_key_hash` - ed25519 hash of permanent public key in hex or base64 format.\n\n• `key_hash` - ed25519 hash of public key in hex or base64 format.\n\n• `expire-at` - time the ADNL address expires and is deleted from node, in unixtime.\n\nExample:\n\n```bash\nconsole -c \"addadnl 4374376452376543 6783978551824553 1608288600\"\n```\n\n#### getstats\n\n**`getstats`** - get node status, validation status (if node is validator) and other information. \n\nCommand has no parameters.\n\nReturns node's information in JSON-format.\n\nbase json-fields:\n\n• `sync_status` - synchronization status description;\n\n• `masterchainblocktime` - field with time of last masterchain block, downloaded by node;\n\n• `masterchainblocknumber` - field with number of last masterchain block, downloaded by node;\n\n• `timediff` - field with time difference between now and last loaded masterchain block's time;\n\n• `in_current_vset_p34` - true, if config param p34 contains this node's key;\n\n• `in_current_vset_p36` - true, if config param p36 contains this node's key;\n\n• `last applied masterchain block id` - field with information about last applied masterchain block's id;\n\n• `processed workchain` - field with information about the processed workchain;\n\n• `validation_stats` - field with information about validated workchains;\n\n• `tps_10` - transactions per second average over 10 seconds;\n\n• `tps_300` - transactions per second average over 300 seconds;\n\nExample: \n\n```bash\nconsole -c \"getstats\"\n```\n\n#### sendmessage\n\n**`sendmessage`** - loads a serialized message from file and sends it to nodes as an external message.\n\nparams:\n\n• `file_name` - serialized message file (in bag of cells format).\n\nExample:\n\n```bash\nconsole -c \"sendmessage message.boc\"\n```\n\n#### getaccountstate\n\n**`getaccountstate`** - save account to the file (in bag of cells format).\n\nparams:\n\n• `account_address` - is the account address.\n\n• `file_name` - is the file's name to save account's boc.\n\nReturns account's boc.\n\nExample:\n\n```bash\nconsole -c \"getaccountstate 0:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F account.boc\"\n```\n\n#### getaccount\n\n**`getaccount`** - load and save (optional) account information in json-format.\n\nparams:\n\n• `account_address` - is the account address.\n\n• `file_name` - is the file's name to save account information in json-format. This param is optional.\n\nReturns json with account information. \n\nBase json-fields:\n\n• `acc_type` - account type description;\n\n• `balance` - account balance;\n\n• `last_trans_lt` - logical time of the last account's transaction;\n\n• `data(boc)` - account`s boc.\n\nExample:\n\n```bash\nconsole -c \"getaccount 0:000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F\"\n```\n\n#### getconfig\n\n**`getconfig`** - get current config param from masterchain state.\n\nparams:\n\n• `param_number` - config parameter number.\n\nReturns boc with current config param.\n\nExample:\n\n```bash\nconsole -c \"getconfig 15\"\n```\n\n#### getblockchainconfig\n\n**`getblockchainconfig`** - get current config from masterchain state.\n\nReturns boc with current config.\n\nExample:\n\n```bash\nconsole -c \"getblockchainconfig\"\n```\n\n# zerostate\n\nThis tool generates config and zerostate for network launch from json zerostate file.\n\n### How to use\n\n```bash\nzerostate -i zerostate.json\n```\n\nWhere\n\n`zerostate.json` – is the zerostate file.\n\n# keygen\n\nThis tool generates an ed25519 key and prints it out in different formats.\n\n### How to use\n\n```bash\nkeygen\n```\n\nCommand has no parameters.\n\n# gendht\n\nThis tool generates the node DHT record, for example, for the purposes of adding it to the global blockchain config.\n\n### How to use\n\n```bash\ngendht ip:port pvt_key\n```\n\nWhere\n\n`ip:port` – Node IP address and port.\n\n`pvt_key` – Node private key.\n\nExample:\n\n```bash\ngendht 51.210.114.123:30303 ABwHd2EavvLJk789BjSF3OJBfX6c26Uzx1tMbnLnRTM=\n```\n\n# dhtscan\n\nThis tool scans DHT for node records.\n\n### How to use\n\n```bash\ndhtscan [--jsonl] [--overlay] [--workchain0] path-to-global-config\n```\n\nWhere\n\n`--jsonl` – optional flag that sets the output as single line json. Default output is multiline json.\n\n`--overlay` – optional flag to search for overlay nodes.\n\n`--workchain0` – optional flag to search both in masterchain and basechain. By default only masterchain is searched.\n\n`path-to-global-config` – path to global config file.\n\n# print\n\nThis tool prints a state or block from the database.\n\n### How to use\n\n```bash\nprint -d path [-s state_id] [-b block_id] [--accounts]\n```\n\nWhere\n\n`path` – path to node database.\n\n`block_id` – id of the block to be printed.\n\n`state_id` – id of the state to be printed.\n\n`accounts` - short info of all accounts will be printed as json\n\n## Contributing\n\nContribution to the project is expected to be done via pull requests submission.\n\n## License\n\nSee the [LICENSE](LICENSE) file for details.\n\n## Tags\n\n`blockchain` `everscale` `rust` `venom-blockchain` `venom-developer-program` `venom-tools` \n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feverx-labs%2Fever-node-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feverx-labs%2Fever-node-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feverx-labs%2Fever-node-tools/lists"}