{"id":26911531,"url":"https://github.com/blockscapenetwork/tendermint-mpc-test","last_synced_at":"2025-07-29T07:33:37.049Z","repository":{"id":75332911,"uuid":"422531516","full_name":"BlockscapeNetwork/tendermint-mpc-test","owner":"BlockscapeNetwork","description":null,"archived":false,"fork":false,"pushed_at":"2021-11-11T11:25:25.000Z","size":2776,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T14:44:30.551Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/BlockscapeNetwork.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}},"created_at":"2021-10-29T10:22:01.000Z","updated_at":"2021-11-11T10:07:08.000Z","dependencies_parsed_at":"2023-02-28T14:16:14.771Z","dependency_job_id":null,"html_url":"https://github.com/BlockscapeNetwork/tendermint-mpc-test","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BlockscapeNetwork/tendermint-mpc-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Ftendermint-mpc-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Ftendermint-mpc-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Ftendermint-mpc-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Ftendermint-mpc-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BlockscapeNetwork","download_url":"https://codeload.github.com/BlockscapeNetwork/tendermint-mpc-test/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BlockscapeNetwork%2Ftendermint-mpc-test/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267646098,"owners_count":24120942,"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","status":"online","status_checked_at":"2025-07-29T02:00:12.549Z","response_time":2574,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-04-01T14:39:02.034Z","updated_at":"2025-07-29T07:33:37.039Z","avatar_url":"https://github.com/BlockscapeNetwork.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MPC local Test with docker-compose and juno-uni-1 testnet\n\nversions:\n\nJuno binary\n```\nname: juno\nserver_name: junod\nversion: HEAD-e507450f2e20aa4017e046bd24a7d8f1d3ca437a\ncommit: e507450f2e20aa4017e046bd24a7d8f1d3ca437a\nbuild_tags: netgo,ledger\ngo: go version go1.17 darwin/amd64\n```\n\n\nTendermint-mpc binary commit:\n\n```\ne4a1fa93e05681e9aa4e8419795d1f268e06b049\n```\n\n## Create signer bin\n\n```\ngit clone https://gitlab.com/unit410/tendermint-validator\n\ncd tendermint-validator\n\ngit checkout e4a1fa93e05681e9aa4e8419795d1f268e06b049\n\ngo mod tidy\n\nenv GOOS=linux GOARCH=amd64 make build\n```\n\ncopy binary to this Repository \\\u003cproject-dir\u003e/signer/bin\n\nexample:\n\n`cp tendermint-validator/build/* tendermint-mpc-test/signer/bin`\n\n\n## Create validator bin\n\n```\ngit clone https://github.com/CosmosContracts/juno\n\ncd juno\n\ngit checkout e507450f2e20aa4017e046bd24a7d8f1d3ca437a\n\nenv GOOS=linux GOARCH=amd64 make build\n```\n\nexample:\n\n`cp juno/bin/junod tendermint-mpc-test/validator/bin`\n\n## Build validator image\n\nin this project dir:\n\n`docker build -t validator:v0.0.1 validator --no-cache`\n\n## Run validator image locally (optional)\n\n`docker run --env-file envval.list validator:v0.0.1`\n\n## Create shares\n\n`key2shares --total 3 --threshold 2 priv_validator_key.json (or other location of priv_validator_key.json)`\n\nrename private_share_1.json to share.json and copy to \u003cthis-project-dir/signer/config/shares/1/share.json\u003e\nrename private_share_2.json to share.json and copy to \u003cthis-project-dir/signer/config/shares/2/share.json\u003e\nrename private_share_3.json to share.json and copy to \u003cthis-project-dir/signer/config/shares/3/share.json\u003e\n\n## Build signer image\n\nin this project dir:\n\n`docker build -t signer:v0.0.1 signer --no-cache`\n\n## Run signer image locally (optional)\n\n`docker run --env-file envsigner.list signer:v0.0.1`\n\n\n## Important information\n\ndocker-compose file tries to attach your lokal ~/.juno and ~/.juno2 (second val) folder to start at synced blocked height (you should store this chaindata there)\n\nto create ~/.juno2 with chain data. You can copy ~/.juno files to ~/.juno2 `cp -R ~/.juno ~/.juno2` (please stop your local daemon before copy)\n\nif you want to use data in validator image for ~/.juno and ~/.juno2 set OVERWRITE=1 for both validators in docker-compose.yml. (pay attention. this overwrites data in ~/.juno and ~/.juno2 with the data in validator/config (docker image) and starts syncing around Block 0)\n\n### Start docker-compose\n\n`docker-compose up`\n\n\n### cmds\n\n```\ndocker logs tendermint-mpc-test-validator1-1 -f\n\ndocker logs tendermint-mpc-test-validator2-1 -f\n\n\ndocker logs tendermint-mpc-test-signer1-1 -f\n\ndocker logs tendermint-mpc-test-signer2-1 -f\n\ndocker logs tendermint-mpc-test-signer3-1 -f\n```\n\n\n## Watch status\n\nval1:`curl localhost:30057/status`\n\nval2:`curl localhost:30157/status`\n\n\n## Check current signer logs for =SIGNED_MSG_TYPE_\n\nin project dir.\n\n`docker-compose stop signer1` (or other signer: ex. signer2, signer3)\n\nin this test case I stopped signer1 with \"=SIGNED_MSG_TYPE_\" logs:\n\nsigner3 throws error:\n\n`GetEphemeralSecretPart req error` and the two remaining signer shows some weird behavior where some blocks are signed and some not.\n\nExpected behaviour: 100% signing\n\nTicket here: `https://gitlab.com/unit410/tendermint-validator/-/issues/2`\n\n## if you need to create val\n\n`junod tx staking create-validator --amount 1000000ujunox --node tcp://localhost:30057 --keyring-backend test --chain-id uni --fees 500ujunox --from Wallet --node-id bc1909ad9b5f1f08a5d9506ee9376d27672721de --moniker test-bl --pubkey '{\"@type\":\"/cosmos.crypto.ed25519.PubKey\",\"key\":\"\\\u003ckey\\\u003e\"}' --commission-max-change-rate 0.01 --commission-max-rate 0.3999 --commission-rate 0.0999 --min-self-delegation 1`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockscapenetwork%2Ftendermint-mpc-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblockscapenetwork%2Ftendermint-mpc-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblockscapenetwork%2Ftendermint-mpc-test/lists"}