{"id":14029954,"url":"https://github.com/nolus-protocol/nolus-core","last_synced_at":"2026-01-14T20:32:05.425Z","repository":{"id":64816880,"uuid":"480813049","full_name":"nolus-protocol/nolus-core","owner":"nolus-protocol","description":"Nolus core is a blockchain built using Cosmos SDK and Tendermint","archived":false,"fork":false,"pushed_at":"2025-12-03T07:30:39.000Z","size":9828,"stargazers_count":53,"open_issues_count":6,"forks_count":51,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-12-05T11:18:51.117Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","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/nolus-protocol.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-04-12T13:02:39.000Z","updated_at":"2025-12-03T07:30:43.000Z","dependencies_parsed_at":"2024-01-22T09:04:58.222Z","dependency_job_id":"d0a7ca14-0096-46d6-aa3a-7c06aa32d951","html_url":"https://github.com/nolus-protocol/nolus-core","commit_stats":{"total_commits":1027,"total_committers":39,"mean_commits":"26.333333333333332","dds":0.7497565725413826,"last_synced_commit":"8dd47aab2516a81f26d976537c4f15eb756da830"},"previous_names":[],"tags_count":85,"template":false,"template_full_name":null,"purl":"pkg:github/nolus-protocol/nolus-core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolus-protocol%2Fnolus-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolus-protocol%2Fnolus-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolus-protocol%2Fnolus-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolus-protocol%2Fnolus-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nolus-protocol","download_url":"https://codeload.github.com/nolus-protocol/nolus-core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nolus-protocol%2Fnolus-core/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2024-08-11T21:01:21.607Z","updated_at":"2026-01-14T20:32:05.394Z","avatar_url":"https://github.com/nolus-protocol.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Nolus Core\n\u003cdiv align=\"center\"\u003e\n\u003cbr /\u003e\u003cp align=\"center\"\u003e\u003cimg alt=\"nolus-core\" src=\"docs/nolus-core-logo.svg\" width=\"100\"/\u003e\u003c/p\u003e\u003cbr /\u003e\n\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/Nolus-Protocol/nolus-core)](https://goreportcard.com/report/github.com/Nolus-Protocol/nolus-core)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/Nolus-Protocol/nolus-core/blob/main/LICENSE)\n[![Nolus-core](https://github.com/Nolus-Protocol/nolus-core/actions/workflows/nolus-core.yaml/badge.svg?branch=main)](https://github.com/Nolus-Protocol/nolus-core/actions/workflows/nolus-core.yaml)\n[![Test Fuzz](https://github.com/Nolus-Protocol/nolus-core/actions/workflows/test-fuzz.yaml/badge.svg?branch=main)](https://github.com/Nolus-Protocol/nolus-core/actions/workflows/test-fuzz.yaml)\n[![Test cosmos-sdk](https://github.com/Nolus-Protocol/nolus-core/actions/workflows/test-cosmos.yaml/badge.svg?branch=main)](https://github.com/Nolus-Protocol/nolus-core/actions/workflows/test-cosmos.yaml)\n\n**Nolus** is a blockchain built using Cosmos SDK and CometBFT.\n\u003c/div\u003e\n\n## Prerequisites\n\nInstall [golang](https://golang.org/), [tomlq](https://tomlq.readthedocs.io/en/latest/installation.html) and [jq](https://stedolan.github.io/jq/).\n\n## Get started\n\n### Build, configure and run a single-node locally deployed Nolus chain\n\n#### Build\n\n  ```sh\n  make install\n  ```\n\nThe command will compile and install nolusd locally on your machine.\n\n#### Initialize, set up and run\n\n`init-local-network.sh` generates a network setup, including the deployment of platform contracts (only) and initial Hermes setup (Nolus chain configuration).\n\nFirst, generate the mnemonic you will use for Hermes:\n\n```sh\nnolusd keys mnemonic\n```\n\nInitialize and start (run `./scripts/init-local-network.sh --help` for additional configuration options):\n\n```sh\n./scripts/init-local-network.sh --reserve-tokens \u003creserve_account_init_tokens\u003e --hermes-mnemonic \u003cthe_mnemonic_generated_by_the_previous_steps\u003e --dex-admin-mnemonic \u003cmnemonic_phrase\u003e --store-code-privileged-account-mnemonic \u003cmnemonic_phrase\u003e\n```\n\n*Notes:\n\n* Make sure the `nolus-money-market` repository is checked out as a sibling to this one.\n\n* !!! Before running the `./scripts/init-local-network.sh` again, make sure the `nolusd` and `hermes` processes are killed.\n\n* The nolusd logs are stored in `~/.nolus`.\n\n### Run an already configured single-node\n\n```sh\nnolusd start --home \"networks/nolus/local-validator-1\"\n```\n\n## Set up a new DEX\n\nOn a live network, a new DEX can be deployed using the following steps.\n\n### Manual step - Prerequisites\n\n* provide a certain amount for the Hermes account (DEX side)\n\n    Recover your Hermes wallet on the DEX network and use a faucet to obtain some amount.\n\n    Example for the Osmosis DEX ([Osmo-test-5 faucet](https://faucet.osmotest5.osmosis.zone/)):\n\n    ```sh\n    osmosisd keys add hermes_key --recover\n    ```\n\n* start hermes\n\n### Аutomated step\n\n```sh\n./scripts/add-new-dex.sh --wasm-artifacts-path \u003cwasm_artifacts_dir_path\u003e --dex-name \u003cdex_name\u003e --dex-chain-id \u003cnew_dex_chain_id\u003e --dex-ip-addr-rpc-host \u003cnew_dex_ip_addr_rpc_host_part\u003e --dex-ip-addr-grpc-host \u003cnew_dex_ip_addr_grpc_host_part\u003e --dex-account-prefix \u003cnew_dex_account_prefix\u003e --dex-gas-price-denom \u003cnew_dex_price_denom\u003e --dex-trusting-period-secs \u003cnew_dex_trusting_period_in_seconds\u003e  --protocol-currency \u003cnew_protocol_currency\u003e --protocol-swap-tree \u003cnew_protocol_swap_tree\u003e --dex-network \u003cdex_network_name\u003e --dex-type-and-params '\u003cdex_specific_field\u003e'\n```\n\nThe script takes care of setting up Hermes to work with the new DEX and, for now, deploying DEX-specific contracts (More about deploying contracts on a live network can be found [here](https://github.com/nolus-protocol/nolus-money-market)).\n\n*Notes:\n\n* Execute `./scripts/add-new-dex.sh --help` for additional configuration options\n\n* The `protocol-swap-tree` must be passed in single quotes (for example: **--protocol-swap-tree '{\"value\":[0,\"USDC\"],\"children\":[{\"value\":[5,\"OSMO\"],\"children\":[{\"value\":[12,\"ATOM\"]}]}]}'**)\n\n* The script will locate the Hermes account from the Hermes configuration directory and link it to the new DEX\n\n## Build a statically linked binary\n\nBy default, `make build` generates a dynamically linked binary. In case someone would like to reproduce the way the binary is built in the pipeline then the command to achieve it locally is:\n\n```sh\ndocker run --rm -it -v \"$(pwd)\":/code public.ecr.aws/nolus/builder:\u003creplace_with_the latest_tag\u003e make build -C /code\n```\n\n## Upgrade wasmvm\n\n* Update the Go modules\n* Update the wasmvm version in the builder Dockerfile at .github/images/builder.Dockerfile\n* Increment the IMAGE_TAG and use the same version in the build-binary step in .github/workflows/build.yaml\n\n## Run a full node with docker\n\n[https://github.com/Nolus-Protocol/nolus-networks](https://github.com/Nolus-Protocol/nolus-networks)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnolus-protocol%2Fnolus-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnolus-protocol%2Fnolus-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnolus-protocol%2Fnolus-core/lists"}