{"id":18149936,"url":"https://github.com/davinchi-protocol/da-validator","last_synced_at":"2026-01-25T21:20:59.447Z","repository":{"id":259714430,"uuid":"876645775","full_name":"davinchi-protocol/da-validator","owner":"davinchi-protocol","description":"Mainnet Quick Run Join Validator For Davinchi Using Docker","archived":false,"fork":false,"pushed_at":"2025-05-26T03:41:57.000Z","size":414,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-28T04:33:23.906Z","etag":null,"topics":["eth","ethereum","ethereum-blockchain","layer1","mainnet","mainnet-deployment","proof-of-stake","validator"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davinchi-protocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-22T10:20:49.000Z","updated_at":"2025-05-26T03:42:02.000Z","dependencies_parsed_at":"2024-12-20T10:45:18.212Z","dependency_job_id":"e5bafcaf-c3ad-47ba-81ca-e5584fdc0341","html_url":"https://github.com/davinchi-protocol/da-validator","commit_stats":null,"previous_names":["davinchi-protocol/da-validator"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davinchi-protocol/da-validator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davinchi-protocol%2Fda-validator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davinchi-protocol%2Fda-validator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davinchi-protocol%2Fda-validator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davinchi-protocol%2Fda-validator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davinchi-protocol","download_url":"https://codeload.github.com/davinchi-protocol/da-validator/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davinchi-protocol%2Fda-validator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28758916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T20:56:06.009Z","status":"ssl_error","status_checked_at":"2026-01-25T20:54:48.203Z","response_time":113,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["eth","ethereum","ethereum-blockchain","layer1","mainnet","mainnet-deployment","proof-of-stake","validator"],"created_at":"2024-11-02T00:06:45.272Z","updated_at":"2026-01-25T21:20:59.428Z","avatar_url":"https://github.com/davinchi-protocol.png","language":"Shell","readme":"# Mainnet Validator Setup\n\n```bash\nMetadata\nStatus: Running\nFlavor: Permissionless (Proof-of-Stake)\nLinux Epoch time: 1729568952 2024-Oct-22 03:49:12 AM UTC\nMerge: At Genesis (0)\nExecution Latest Version: Cancun\n```\n\n### HardFork\n\n```bash\nPragueTime : 1730337012 (Oct 31 2024 08:10:12 UTC Time)\nosakaTime : 1767968628 (Jan 09 2026 21:23:48 UTC Time)\n```\n\nHeader :\n\n```bash\n\"fork\":\n\"previous_version\": \"0x40000293\",\n\"current_version\": \"0x50000293\",\n\"epoch\": \"0\"\n\n\"latest_block_header\":\n\"slot\": \"0\",\n\"proposer_index\": \"0\",\n\"parent_root\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n\"state_root\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",\n\"body_root\": \"0xbce73ee2c617851846af2b3ea2287e3b686098e18ae508c7271aaa06ab1d06cd\"\n\n\"eth1_data\":\n\"deposit_root\": \"0xd70a234731285c6804c2a4f56711ddb8c82c99740f207854891028af34e27e5e\",\n\"deposit_count\": \"0\",\n\"block_hash\": \"0x1312a032ebe6c6aaee57b6504ccf3431b839da680267344f74916914617e920b\"\n\n\"genesis_validators_root\": \"0x7fd081efd2e10ca333c734f3a5e79459ff0be301868113703ed3c284adb85aef\",\n```\n\nThis repository provides a docker-compose file to run a fully-functional, Mainnet for Davinchi with proof-of-stake enabled.\n\nThe development net is fully functional and allows for the deployment of smart contracts and all the features that also come with the Lighthouse consensus client such as its rich set of APIs for retrieving data from the blockchain. This development net is a great way to understand the internals of Davinchi proof-of-stake and to mess around with the different settings that make the system possible.\n\n## Using\n\n```bash\ngit clone https://github.com/davinchi-protocol/da-val.git \ncd da-val\nchmod +x ./scripts/*.sh\n./scripts/install-docker.sh\n./scripts/install-asdf.sh\nmkdir -p execution consensus\n```\n\n# Davinchi Chain Validator Node Setup Guide\n\nThis guide will walk you through the process of depositing and running node on the Davinchi Network.\n\n### Prerequisites\n\n```bash\neth2-val-tools --help\nethereal version\n```\n\n### Deposit Steps\n\nOnce everything required is fulfilled, you need to create a mnemonic phrase to prepare the deposit data.\n\n```bash\n$ eth2-val-tools mnemonic \n\"female more wash genuine pilot slim exit mosquito glimpse blue science garlic creek upset acquire soup silent submit pitch spatial maple measure mutual picnic\"\n```\n\nAnd keep your mnemonic!\n\n```bash\nNot Your Key, Not Your Coin\n```\n\nObtain the following parameters in validator-deposit-data.sh:\n\n```bash\nnano ./scripts/validator-deposit-data.sh\n```\n\n```bash\namount: The amount of DCOIN to deposit (e.g., 32000000000)\nsmin: source min value (e.g., 0)\nsmax: source max value (e.g., 1)\nwithdrawals-mnemonic: your mnemonic phrase from generate eth2-val-tools.\nvalidators-mnemonic: your mnemonic phrase from generate eth2-val-tools.\nfrom: address that was already funded from the faucet.\nprivatekey: your privatekey address that has funds from the faucet.\n```\n\nRun the following command to generate final the deposit data.\n\n```bash\nbash ./scripts/validator-deposit-data.sh\n```\n\n\u003e Wait for the deposit to be verified by smartcontract and check in explorer.\n\n### Generate Public Keys\n\nThis step refers to deposit-data. You need to add the mnemonic phrase you have created in eth2-val-tools to extract in staking-cli and prepare the deposit-data to the on-chain.\n\n```bash\n./scripts/validator-build.sh\n```\n\n--------\n\n### Layout Staking Cli\n\n```bash\n$ ***Using the tool on an offline and secure device is highly recommended to keep your mnemonic safe.***\n\nPlease choose your language ['1. العربية', '2. ελληνικά', '3. English', '4. Français', '5. Bahasa melayu', '6. Italiano', '7. 日本語', '8. 한국어', '9. Português do Brasil', '10. român', '11. Türkçe', '12. 简体中文']:  [English]:\n\nChoose English or Press Enter.\n\n$ Please repeat the index to confirm: \n\nType \"0\" since it is the minimum height the data deposit will be created at.\n\n$ Please enter your mnemonic separated by spaces (\" \"). Note: you only need to enter the first 4 letters of each word if you'd prefer.:\n\nAdd your already created mnemonic phrase to be extracted into a public key.\n\n$ Please choose the (mainnet or testnet) network/chain name ['devnet-0', 'devnet-1', 'devnet-3', 'devnet-4', 'devnet-5', 'davinchi']:\n\nChoose davinchi and Enter\n\n$ Create a password that secures your validator keystore(s). You will need to re-enter this to decrypt them when you setup your Ethereum validators.:\n\nCreate your password with a minimum word of 8 letters/numbers and create a file with the name \"password.txt\" and save it in the \"custom_config_data\" folder\nafter completing creating a password you will be referred like this:    \n                                                                  \nCreating your keys.\nCreating your keys:               [####################################]  32/32          \nCreating your keystores:          [####################################]  32/32          \nCreating your depositdata:        [####################################]  32/32          \nVerifying your keystores:         [####################################]  32/32          \n```\n\n#### Configure Docker Compose\n\nChange a few lines of code inside docker-compose.yml (if you want to use the default, and the execution options and beacon will adjust as well.)\n\n```bash\nidentity=YourMomName ## Replace with your discord username (e.g: avenbreaks. don't add your hastag discord user or handle)\nenr-address=13.210.210.210 ## Replace with your public IPAddress\ngraffiti=YourMomName ## Replace with your unique name\n```\n\nAfter docker-compose.yml has been configured, Then run:\n\n```bash\ndocker compose up -d\n```\n\nYou will see the following:\n\n```bash\n$ docker compose up -d\n[+] Running 4/4\n ⠿ Network tokio_default_default                           Created\n ⠿ Container striatum_init                                 Exited\n ⠿ Container striatum_el                                   Started\n ⠿ Container lighthouse_init                               Exited\n ⠿ Container lighthouse_cl                                 Started\n ⠿ Container lighthouse_vc                                 Started\n```\n\nEach time you restart, you can wipe the old data using `./clean.sh`.\n\nNext, you can inspect the logs of the different services launched.\n\n```bash\ndocker logs striatum_el -f\n```\n\nsee on geth_el:\n\n```bash\nINFO [09-26|19:28:45.046] Forkchoice requested sync to new head    number=30729 hash=a38be3..648659 finalized=30652\nINFO [09-26|19:28:57.045] Forkchoice requested sync to new head    number=30730 hash=eb3642..45f557 finalized=30652\nINFO [09-26|19:29:09.046] Forkchoice requested sync to new head    number=30731 hash=b9fd32..3748bd finalized=30652\nINFO [09-26|19:29:21.046] Forkchoice requested sync to new head    number=30732 hash=51ff7b..803756 finalized=30652\nINFO [09-26|19:29:33.046] Forkchoice requested sync to new head    number=30733 hash=f80ac7..19e5f7 finalized=30652\n```\n\n```bash\ndocker logs lighthouse_cl -f\n```\n\nsee on lighthouse_cl:\n\n```bash\nINFO Subscribed to topics\nINFO Sync state updated                      new_state: Evaluating known peers, old_state: Syncing Finalized Chain, service: sync\nINFO Sync state updated                      new_state: Syncing Head Chain, old_state: Evaluating known peers, service: sync\nINFO Sync state updated                      new_state: Synced, old_state: Syncing Head Chain, service: sync\nINFO Subscribed to topics                    topics: [\"/eth2/9c4e948f/bls_to_execution_change/ssz_snappy\"]\nINFO Successfully finalized deposit tree     finalized deposit count: 1, service: deposit_contract_rpc\n```\n\n```bash\ndocker logs lighthouse_vc -f\n```\n\nsee on lighthouse_vc:\n\n```bash\nINFO Connected to beacon node(s)             synced: 1, available: 1, total: 1, service: notifier\nINFO All validators active                   slot: 32836, epoch: 1026, total_validators: 32, active_validators: 32\nINFO Connected to beacon node(s)             synced: 1, available: 1, total: 1,\nINFO Validator exists in beacon chain        fee_recipient: 0x617b…063d,\nINFO Awaiting activation                     slot: 17409, epoch: 544, validators: 32, service: notifier\n```\n\n```bash\nThe logs above show the validator \"Awaiting activation\" meaning your node is on a waiting list, at least 30 minutes - 2 hours until your node is approved.\n```\n\n### Other Arguments\n\n```FYI: if your node is stuck unable to pull sync and losing peers, you just stop docker then restart it. however if this solution does not solve you can replace the bootnode and noderecord here:```\n\n```bash\nWhen losing peers the normal logs will show up like this on consensus: \n\nstriatum_el\nWARN [10-03|04:50:47.133] Beacon client online, but no consensus updates received in a while. Please fix your beacon client to follow the chain! \nWARN [10-03|04:55:47.172] Beacon client online, but no consensus updates received in a while. Please fix your beacon client to follow the chain!\n\nlighthouse_cl\nINFO Oct 03 04:59:39.001 WARN Low peer count                          peer_count: 0, service: slot_notifier\nWARN Oct 03 04:59:39.001 INFO Searching for peers                     current_slot: 78259, head_slot: 5248, finalized_epoch: 162, finalized_root: 0xa9c8…f1f7, peers: 0, service: slot_notifier\nWARN Oct 03 04:59:39.001 WARN Syncing deposit contract block cache    est_blocks_remaining: initializing deposits, service: slot_notifier\n```\n\n## Available Features\n\n- Cancun Fork Activation\n- Geth JSON-RPC API is available at \u003chttp://geth:8545\u003e\n- The Lighthouse client's REST APIs are available at http://lighthouse_cl:5052\n- Davinchi Validator Deposit Adress `0xdeadbeef00000000000000000000000000000000` This can be used to onboard new validators into the network by depositing 32 DCOIN into the contract\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavinchi-protocol%2Fda-validator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavinchi-protocol%2Fda-validator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavinchi-protocol%2Fda-validator/lists"}