FISCO BCOS: a permissioned C++ chain for consortium deployments
FISCO BCOS(发音为/ˈfɪskl bi:ˈkɒz/)是一个稳定、高效、安全的许可区块链平台,已被广泛应用于现实的行业应用。截至目前,已拥有5000多家企事业单位,400多个产业数字化标杆应用,涵盖文化版权、司法服务、政府服务、物联网、金融、智慧社区、房地产建设、社区治理、乡村振兴等领域。FISCO BCOS (pronounced /ˈfɪskl bi:ˈkɒz/) is a stable, efficient, and secure permissioned blockchain platform that has been widely used in real-world industry applications.
At a glance
- What is it?
- FISCO BCOS is a permissioned blockchain platform written mostly in C++, aimed at consortium and industry deployments. The README claims a 200,000 TPS ceiling for a single chain, but the same README points production users at an older release than the one it promotes as latest.
- Who is it for?
- Adopt FISCO BCOS if you are building a permissioned consortium chain where Chinese cryptographic algorithms, regulator node access and a domestic toolchain are requirements rather than nice-to-haves, and if you can staff a C++ and Java team.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What FISCO BCOS solves, and who it is actually built for
FISCO BCOS is a permissioned blockchain platform. The README describes it as released in 2017 by the open source working group of the Financial Blockchain Shenzhen Consortium, and states it is used in more than 600 industry applications across finance, government affairs and public welfare. Those are the project's own numbers, not independently verified here.
The problem it addresses is the one a public chain cannot solve for a bank, a government service or a credit bureau: you need a shared ledger with known participants, admission control, and the ability to give a regulator read access without giving it write access. The README states the platform defines three node types (consensus nodes, observer nodes and light nodes) and supports regulator node access for what it calls instant penetrating supervision. That is a governance model, not a performance feature, and it is the main reason to pick this over a general purpose EVM chain.
Who it is for, concretely: teams building cross-institution data exchange, credential verification or evidence storage where the participants are companies and public bodies rather than anonymous users. The README lists cross-border data verification platforms, a credit reference chain in the Pearl River Delta, and a blockchain evidence service from China UnionPay as reference deployments. If your project looks like those, the platform's assumptions match yours. If your project is a token, a public DeFi protocol or anything where participants join without approval, it does not.
The architecture: pipelined blocks, pluggable consensus, parallel execution
The repository is split into modules that map onto the layers the README describes. The top level contains bcos-pbft and bcos-rpbft for consensus, bcos-gateway and bcos-front for networking, bcos-executor, bcos-scheduler and transaction-executor for execution, bcos-ledger and bcos-storage for state, bcos-txpool for the transaction pool, and bcos-rpc for the RPC surface. A separate lightnode directory holds the light node, and fisco-bcos-air holds the all-in-one packaging.
Three mechanisms are worth naming because they shape how you deploy it. First, pipelining: the README describes a block pipeline that generates blocks continuously and compactly, which means consensus, execution and storage for different blocks overlap instead of running in lockstep. Second, pluggable consensus: the README says the consensus framework is pluggable, and the repository ships both PBFT and RPBFT implementations, so the choice is a build and configuration decision rather than a fork. Third, parallel execution: the README lists multiple groups, intra-block sharding, DMC and DAG as parallel mechanisms, and the presence of bcos-scheduler and transaction-scheduler as separate modules suggests the scheduling layer is where that parallelism is decided.
The README also mentions a blockchain file system for contract data management and a built-in permission governance framework where multiple parties vote on chain changes. Both are consortium-specific features. A permissioned chain needs a way to change its own membership without a hard fork, and the voting framework is that mechanism. The trade-off is that governance becomes a process you have to operate: who holds the votes, how a proposal is raised, and what happens when a voter goes offline are all questions the platform hands back to you.
Installing FISCO BCOS and bringing up a first chain
The README does not contain installation commands. It points to a separate technical documentation site at fisco-bcos-doc.readthedocs.io, and to a build-chain tutorial under docs/tutorial/air. The repository itself has an fisco-bcos-air directory and a tools directory, and the README names a one-click build-chain script as the deployment tool. Because the README gives no command text, treat the documentation site as the source of truth for exact flags and paths rather than copying anything from a third-party post.
The documentation's quick start begins with hardware requirements, which is the page you should read before anything else. A consortium chain's node count and group layout drive the machine sizing, and the build-chain script asks for those parameters up front. The typical flow the documentation describes is: install dependencies, generate the chain configuration with the build-chain script, start the nodes, then deploy and call a contract.
The README also lists Docker as a topic and the related searches show people looking for a Docker route, so container packaging exists in the project's ecosystem, but the README does not document a specific image name or compose file. Verify the image tag against the release you intend to run before building a deployment pipeline around it.
For application code, the README names multi-language SDKs and describes a Java SDK tutorial in the documentation. The related searches confirm the Java SDK is the one people ask about most. A Java client is the shortest path from a running chain to a working application, and the SDK tutorial is where the connection configuration, key material and contract ABI handling are documented.
The version split is the first thing to get right
The README's version section is unusually direct and unusually easy to misread. It states that the stable version for production use is v3.7.3, and that the latest version for users who want to experience new features is v3.17.1. The releases list on the repository shows v3.17.1 dated 2026-09-15, v3.17.0 dated 2026-08-24, and v3.16.4 dated 2026-01-14.
So the newest tag is not the one the project tells production users to run. That gap is a deliberate policy, and it is the single most consequential fact for anyone planning an upgrade path. If you pull the latest tag because it is latest, you are on the track the README labels for feature evaluation, not the track it labels for production. The distance between v3.7.3 and v3.17.1 is also large enough that you should not assume a drop-in upgrade; the release notes for each tag are the place to check, and the README links to them.
The last push to the repository was on 2026-09-24, and the repository is not archived. That tells you the codebase is receiving commits, but it does not tell you which branch is production-ready. Those are separate questions, and the README answers only the second one.
Where FISCO BCOS is the wrong tool
The clearest limitation is the one the project states about itself: it is a permissioned platform. There is no public, permissionless mode described in the README. If your application needs open participation, anonymous validators or a token economy, this platform's admission model works against you rather than for you.
The second limitation is the language and toolchain. The primary language is C++, and the repository is organized as a set of C++ modules with a vcpkg manifest and CMake build. That is a real operational cost: your team needs people who can build, patch and debug a C++ codebase, or you need to depend entirely on released binaries and the build-chain script. Contract development is Solidity-oriented, which lowers that barrier somewhat, but the node software itself is not something a Python or JavaScript team can maintain casually.
The third is documentation language. The README is Chinese-first with an English translation linked under docs/README_EN.md, and the technical documentation site is linked in its Chinese edition. The English documentation exists, but if your team cannot read Chinese, you are working from a translation layer for the most detailed material, and translations lag.
Finally, the performance claim needs care. The README states single-chain performance exceeds 200,000 TPS. That is a project claim under conditions the README does not specify. Nothing here confirms it, and you should not size infrastructure from it. Benchmark it against your own contract workload, node count and network topology before you commit hardware.
How it compares with Hyperledger Fabric
The natural alternative for a consortium chain is Hyperledger Fabric, and the difference is architectural rather than cosmetic. Fabric's execution model separates endorsement from ordering: a transaction is simulated by a set of endorsing peers, and only the endorsed result is ordered and committed. FISCO BCOS, by contrast, runs an EVM-compatible execution environment with a pipelined block production path and a scheduler layer that parallelizes execution, as the repository's bcos-scheduler and transaction-scheduler modules indicate.
The practical consequence is where your developers spend their time. On Fabric, chaincode runs in a container and the endorsement policy is a first-class configuration object; you think in terms of peers, channels and policies. On FISCO BCOS, contracts are Solidity and the mental model is closer to an Ethereum client with permissioning bolted on: accounts, transactions, groups. If your team already writes Solidity, FISCO BCOS has the shorter ramp. If your team already runs Fabric, switching means relearning the deployment and governance model, not just the contract language.
The other difference is the surrounding stack. FISCO BCOS ships or names companion components that Fabric does not: WeBASE for visual chain management, WeCross for cross-chain interoperability, and WeDPR for privacy protection. If you need cross-chain work between consortium networks, that is a reason to look at FISCO BCOS specifically. If you do not, those components are extra surface area you will not operate.
Licence and the cost of staying current
FISCO BCOS is released under Apache License 2.0, per the README and the LICENSE file at the repository root. Apache-2.0 is a permissive licence with an explicit patent grant and a requirement to preserve notices. For most commercial consortium deployments that is workable, but the patent grant and the notice obligations are the two clauses worth reading with whoever handles your legal review. Nothing here is legal advice.
The upgrade cost is the part teams underestimate. Because the README separates a stable track from a latest track, every upgrade decision is a choice between two lines of development, and the release notes for each tag are the only place that describes what changed. There is no long-term support schedule in the README, and no statement about how long v3.7.3 will keep receiving fixes. If you build on the stable line, you are depending on a version whose support horizon the README does not state. That is a risk you should price in before you commit, and the release page for v3.7.3 is where to look for any statement about it.
Editorial conclusion
Adopt FISCO BCOS if you are building a permissioned consortium chain where Chinese cryptographic algorithms, regulator node access and a domestic toolchain are requirements rather than nice-to-haves, and if you can staff a C++ and Java team. Do not adopt it if you want a public chain, an unpermissioned network, or an ecosystem where you can hire Solidity and TypeScript developers off the street; the documentation set is Chinese-first and the SDK story is narrower than the EVM-compatible alternatives. Before committing, verify three things: which release the project currently calls the production version, whether the build-chain script in the documentation produces a network that matches your node count and group layout, and whether the Java SDK version you plan to pin is compatible with that release. The README's own version section is the first place to check, because it does not point at the newest tag.
Frequently asked questions
What does FISCO stand for?
The README expands it as the Financial Blockchain Shenzhen Consortium, whose open source working group released the platform in 2017. The project is also referred to as 金链盟 in Chinese.
Is FISCO BCOS a public or a permissioned blockchain?
It is permissioned. The README describes a platform for consortium and industry deployments, with consensus nodes, observer nodes and light nodes, plus regulator node access. No permissionless mode is documented.
Which version of FISCO BCOS should I run in production?
The README states that v3.7.3 is the stable version for production use, while v3.17.1 is the latest version intended for users who want to try new features. Check the release notes for both tags before choosing.
Does FISCO BCOS have a Java SDK?
Yes. The README lists multi-language SDKs and links to an SDK tutorial in the technical documentation, and the Java SDK is the one most people search for. The SDK tutorial is where connection and contract configuration are documented.
What licence does FISCO BCOS use?
Apache License 2.0, according to the README and the LICENSE file in the repository root.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/fisco-bcos-fisco-bcos)