{"id":45049421,"url":"https://github.com/bifrost-platform/bifrost-node","last_synced_at":"2026-02-19T08:32:38.217Z","repository":{"id":63169165,"uuid":"541383650","full_name":"bifrost-platform/bifrost-node","owner":"bifrost-platform","description":"The Bifrost Network is an EVM-compatible blockchain that provides an all-in-one environment for multichain DApps.","archived":false,"fork":false,"pushed_at":"2026-01-27T08:52:40.000Z","size":12757,"stargazers_count":38,"open_issues_count":4,"forks_count":16,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-01-27T19:51:20.184Z","etag":null,"topics":["bfc","bifrost","ethereum","evm","frontier","rust","substrate"],"latest_commit_sha":null,"homepage":"https://www.bifrostnetwork.com","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/bifrost-platform.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":".github/CODEOWNERS","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-09-26T02:51:12.000Z","updated_at":"2026-01-06T06:50:24.000Z","dependencies_parsed_at":"2026-01-05T16:00:13.765Z","dependency_job_id":null,"html_url":"https://github.com/bifrost-platform/bifrost-node","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/bifrost-platform/bifrost-node","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bifrost-platform%2Fbifrost-node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bifrost-platform%2Fbifrost-node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bifrost-platform%2Fbifrost-node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bifrost-platform%2Fbifrost-node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bifrost-platform","download_url":"https://codeload.github.com/bifrost-platform/bifrost-node/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bifrost-platform%2Fbifrost-node/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29608537,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["bfc","bifrost","ethereum","evm","frontier","rust","substrate"],"created_at":"2026-02-19T08:32:37.456Z","updated_at":"2026-02-19T08:32:38.209Z","avatar_url":"https://github.com/bifrost-platform.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![Bifrost Network](media/bifrost_header.jpeg)\n\nThe Bifrost Network is a fast and scalable EVM-compatible blockchain that\nprovides an all-in-one environment for developers to build multichain DApps.\n\n## Getting Started\n\nLearn to use the Bifrost network with our [technical docs](https://docs.bifrostnetwork.com/bifrost-network).\n\n### Bifrost Network Testnet (ChainID: 49088)\n|Public Endpoints (rpc/ws)|\n|------|\n|https://public-01.testnet.bifrostnetwork.com/rpc|\n|https://public-02.testnet.bifrostnetwork.com/rpc|\n|wss://public-01.testnet.bifrostnetwork.com/wss|\n|wss://public-02.testnet.bifrostnetwork.com/wss|\n\n### Bifrost Network Mainnet (ChainID: 3068)\n|Public Endpoints (rpc/ws)|\n|------|\n|https://public-01.mainnet.bifrostnetwork.com/rpc|\n|https://public-02.mainnet.bifrostnetwork.com/rpc|\n|wss://public-01.mainnet.bifrostnetwork.com/wss|\n|wss://public-02.mainnet.bifrostnetwork.com/wss|\n\n### Rust Setup\n\nFirst, complete the [basic Rust setup instructions](./docs/rust-setup.md).\n\n### Build\n\nUse the following command to build the node\nwithout launching it:\n\n```sh\ncargo build --release\n```\n\n### Embedded Docs\n\nOnce the project has been built, the following command can be used to explore all parameters and\nsubcommands:\n\n```sh\n./target/release/bifrost-node -h\n```\n\n### Build (using docker)\n\nWe can also use docker to build the node. Follow the description below:\n\n```sh\ndocker build . -t bifrost-node\n```\n\n#### 3. Run\n\nBest guess to get started is to pass the -h flag. Example:\n\n```sh\ndocker run --rm -it bifrost-node -h\n```\n\n## Run Node\n\nThe provided `cargo run` command will launch a temporary node and its state will be discarded after\nyou terminate the process. After the project has been built, there are other ways to launch the\nnode.\n\n### Single-Node Development Chain\n\nThis command will start the single-node development chain with non-persistent state:\n\n```bash\n./target/release/bifrost-node --dev\n```\n\nPurge the development chain's state:\n\n```bash\n./target/release/bifrost-node purge-chain --base-path ./data --chain dev\n```\n\nStart the development chain with detailed logging:\n\n```bash\nRUST_BACKTRACE=1 ./target/release/bifrost-node -ldebug --dev\n```\n\n\u003e Development chain means that the state of our chain will be in a tmp folder while the nodes are\n\u003e running. Also, **Alith** account will be authority and sudo account as declared in the\n\u003e [genesis state](https://github.com/bifrost-platform/bifrost-node/tree/main/node/dev/src/chain_spec.rs).\n\u003e At the same time the following accounts will be pre-funded:\n\n**Prefunded Development Addresses**\n|Name      |Address                                     |Private Key                                                         |\n|----------|--------------------------------------------|--------------------------------------------------------------------|\n|Alith     |0xf24FF3a9CF04c71Dbc94D0b566f7A27B94566cac  |0x5fb92d6e98884f76de468fa3f6278f8807c48bebc13595d45af5bdc4da702133  |\n|Baltathar |0x3Cd0A705a2DC65e5b1E1205896BaA2be8A07c6e0  |0x8075991ce870b93a8870eca0c0f91913d12f47948ca0fd25b49c6fa7cdbeee8b  |\n|Charleth  |0x798d4Ba9baf0064Ec19eB4F0a1a45785ae9D6DFc  |0x0b6e18cafb6ed99687ec547bd28139cafdd2bffe70e6b688025de6b445aa5c5b  |\n|Dorothy   |0x773539d4Ac0e786233D90A233654ccEE26a613D9  |0x39539ab1876910bbf3a223d84a29e28f1cb4e2e456503e7e91ed39b2e7223d68  |\n|Ethan     |0xFf64d3F6efE2317EE2807d223a0Bdc4c0c49dfDB  |0x7dce9bc8babb68fec1409be38c8e1a52650206a7ed90ff956ae8a6d15eeaaef4  |\n|Faith     |0xC0F0f4ab324C46e55D02D0033343B4Be8A55532d  |0xb9d2ea9a615f3165812e8d44de0d24da9bbd164b65c4f0573e1ce2c8dbd9c8df  |\n|Goliath   |0x7BF369283338E12C90514468aa3868A551AB2929  |0x96b8a38e12e1a31dee1eab2fffdf9d9990045f5b37e44d8cc27766ef294acf18  |\n|Heath     |0x931f3600a299fd9B24cEfB3BfF79388D19804BeA  |0x0d6dcaaef49272a5411896be8ad16c01c35d6f8c18873387b71fbc734759b0ab  |\n|Ida       |0xC41C5F1123ECCd5ce233578B2e7ebd5693869d73  |0x4c42532034540267bf568198ccec4cb822a025da542861fcb146a5fab6433ff8  |\n|Judith    |0x2898FE7a42Be376C8BC7AF536A940F7Fd5aDd423  |0x94c49300a58d576011096bcb006aa06f5a91b34b4383891e8029c21dc39fbb8b  |\n\nIn case of being interested in maintaining the chain' state between runs a base path must be added\nso the db can be stored in the provided folder instead of a temporal one. We could use this folder\nto store different chain databases, as a different folder will be created per different chain that\nis ran. The following commands shows how to use a newly created folder as our db base path.\n\n```bash\n// Create a folder to use as the db base path\n$ mkdir data\n\n// Use of that folder to store the chain state\n$ ./target/release/bifrost-node --dev --base-path ./data\n\n// Check the folder structure created inside the base path after running the chain\n$ ls ./data\nchains\n$ ls ./data/chains/\ndev\n$ ls ./data/chains/dev\ndb keystore network\n```\n\n## Project Structure\n\nA Substrate project such as this consists of a number of components that are spread across a few\ndirectories.\n\n### Node\n\nA blockchain node is an application that allows users to participate in a blockchain network.\nSubstrate-based blockchain nodes expose a number of capabilities:\n\n- Networking: Substrate nodes use the [`libp2p`](https://libp2p.io/) networking stack to allow the\n  nodes in the network to communicate with one another.\n- Consensus: Blockchains must have a way to come to\n  [consensus](https://docs.substrate.io/main-docs/fundamentals/consensus/) on the state of the\n  network. Substrate makes it possible to supply custom consensus engines and also ships with\n  several consensus mechanisms that have been built on top of\n  [Web3 Foundation research](https://research.web3.foundation/en/latest/polkadot/NPoS/index.html).\n- RPC Server: A remote procedure call (RPC) server is used to interact with Substrate nodes.\n\nThere are several files in the `node` directory - take special note of the following:\n\n- [`chain_spec.rs`](./node/src/chain_spec.rs): A\n  [chain specification](https://docs.substrate.io/main-docs/build/chain-spec/) is a\n  source code file that defines a Substrate chain's initial (genesis) state. Chain specifications\n  are useful for development and testing, and critical when architecting the launch of a\n  production chain. Take note of the `development_config` function, which\n  are used to define the genesis state for the local development chain configuration. These\n  functions identify some\n  [well-known accounts](https://docs.substrate.io/main-docs/fundamentals/accounts-addresses-keys/)\n  and use them to configure the blockchain's initial state.\n- [`service.rs`](./node/src/service.rs): This file defines the node implementation. Take note of\n  the libraries that this file imports and the names of the functions it invokes. In particular,\n  there are references to consensus-related topics, such as the\n  [longest chain rule](https://docs.substrate.io/main-docs/fundamentals/consensus/#fork-choice-rules),\n  the [Aura](https://docs.substrate.io/reference/glossary/#authority-round-aura) block authoring\n  mechanism and the\n  [GRANDPA](https://docs.substrate.io/reference/glossary/#grandpa) finality\n  gadget.\n\nAfter the node has been [built](#build), refer to the embedded documentation to learn more about the\ncapabilities and configuration parameters that it exposes:\n\n```shell\n./target/release/bifrost-node --help\n```\n\n### Runtime\n\nIn Substrate, the terms\n\"[runtime](https://docs.substrate.io/main-docs/fundamentals/runtime-intro/)\" and\n\"[state transition function](https://docs.substrate.io/main-docs/fundamentals/state-transitions-and-storage/)\"\nare analogous - they refer to the core logic of the blockchain that is responsible for validating\nblocks and executing the state changes they define. The Substrate project in this repository uses\nthe [FRAME](https://docs.substrate.io/reference/frame-pallets/) framework to construct a\nblockchain runtime. FRAME allows runtime developers to declare domain-specific logic in modules\ncalled \"pallets\". At the heart of FRAME is a helpful\n[macro language](https://docs.substrate.io/reference/frame-macros/) that makes it easy to\ncreate pallets and flexibly compose them to create blockchains that can address\n[a variety of needs](https://www.substrate.io/substrate-users/).\n\nReview the [FRAME runtime implementation](./runtime/src/lib.rs) included in this template and note\nthe following:\n\n- This file configures several pallets to include in the runtime. Each pallet configuration is\n  defined by a code block that begins with `impl $PALLET_NAME::Config for Runtime`.\n- The pallets are composed into a single runtime by way of the\n  [`construct_runtime!`](https://crates.parity.io/frame_support/macro.construct_runtime.html)\n  macro, which is part of the core\n  [FRAME Support](https://docs.substrate.io/reference/frame-pallets/)\n  library.\n\n### Pallets\n\nThe runtime in this project is constructed using many FRAME pallets that ship with the\n[core Substrate repository](https://github.com/paritytech/substrate/tree/master/frame) and a\ntemplate pallet that is [defined in the `pallets`](./pallets/template/src/lib.rs) directory.\n\nA FRAME pallet is compromised of a number of blockchain primitives:\n\n- Storage: FRAME defines a rich set of powerful\n  [storage abstractions](https://docs.substrate.io/main-docs/build/runtime-storage/) that makes\n  it easy to use Substrate's efficient key-value database to manage the evolving state of a\n  blockchain.\n- Dispatchables: FRAME pallets define special types of functions that can be invoked (dispatched)\n  from outside of the runtime in order to update its state.\n- Events: Substrate uses [events and errors](https://docs.substrate.io/main-docs/build/events-errors/)\n  to notify users of important changes in the runtime.\n- Errors: When a dispatchable fails, it returns an error.\n- Config: The `Config` configuration interface is used to define the types and parameters upon\n  which a FRAME pallet depends.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbifrost-platform%2Fbifrost-node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbifrost-platform%2Fbifrost-node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbifrost-platform%2Fbifrost-node/lists"}