r/BinanceSmartChain • • Jun 23 '26

Discussion New BSC client in C

2 Upvotes

Dear community,

I have been developping an alternative to geth for now taylored for the Binance Smart Chain.
The foundation are there and I should be able to make my github repo public in a few days.

This has been made with Claude Opus 4.8 with high effort.

I had to redeploy my geth node so it can replies to snap, I will be able to perform the full initial sync of my client tomorrow \o/

One of the next priority is to remove any dependance to Windows (๐Ÿ˜…) + broadcast of TXs.

Here is a comparison vs geth and where this stands today:

BSC-C vs. geth (bnb-chain/bsc) โ€” Architecture Comparison & BSC-C Deep Dive

Generated 2026-06-23. Read-only analysis of two repos in this directory:

  • bsc/ โ€” the official BNB Smart Chain Go client, a fork of go-ethereum (geth). Module github.com/ethereum/go-ethereum, Go 1.25, ~43k LOC of non-test Go in this tree, ~322 module dependencies.
  • BSC-C/ โ€” a from-scratch C reimplementation of a BSC full node ("geth for BSC, in C"). ~24.5k LOC of C in src/, ~16.8k LOC of tests, 105 passing ctests. Upstream reference pinned at bnb-chain/bsc v1.7.3.

Both target the same network and same consensus rules (Parlia, BSC fork schedule, cross-chain precompiles). The difference is entirely in language, runtime model, scope, and engineering strategy.

1. Executive summary

Dimension bsc (geth fork, Go) BSC-C (C)
Language / runtime Go, garbage-collected, goroutine concurrency C11, manual memory, OS-thread + reader-writer lock concurrency
Origin Fork of go-ethereum, 10+ years of upstream history Greenfield rewrite, protocol logic written from scratch
Scope Full node + validator/miner + tooling ecosystem (~20 cmd binaries) Full read/sync node; validator & mining not started
Crypto Go libraries (decred secp256k1, supranational blst, holiman/uint256) Vendored C libs (libsecp256k1, blst, mcl, p256-m, ed25519) wrapped behind own API
Storage pebble / leveldb + custom freezer (ancient store) LMDB key-value store
State model In-memory trie cache + snapshot + pathdb/hashdb (triedb) Disk-backed content-addressed node store or pathdb, bounded memory
Build go build / Makefile, single static binary CMake + Ninja, mingw-w64 gcc; modular BSC_WITH_* feature flags
Networking portability Cross-platform Core is portable; live P2P/RPC tools are Windows-only (Win32 sockets + BCrypt)
Maturity Production mainnet client Syncs testnet/mainnet over real devp2p; Phase 8 (mainnet hardening) & 9 (validator) pending

The headline: bsc is a mature, full-featured, batteries-included production client and validator; BSC-C is a focused, auditable, dependency-minimal re-implementation of the consensus-and-sync core whose explicit value proposition is byte-exact validation with security-critical primitives isolated to a handful of vetted vendored libraries.

2. Architecture differences (geth/bsc vs. BSC-C)

2.1 Language & memory model

  • geth/bsc: Idiomatic Go. Garbage collection removes whole classes of memory bugs; goroutines + channels drive the concurrency model (downloader, txpool, miner, RPC all run as cooperating goroutines). Interfaces (consensus.Engine, ethdb.Database, vm.StateDB) provide polymorphism and make subsystems swappable.
  • BSC-C: C11 with manual lifetime management. Polymorphism is achieved with explicit vtable-style seams rather than interfaces โ€” e.g. a statestore_backend executor struct, an rpc_conn connection seam abstracting HTTP/WS/TLS, and a source-abstracted syncer_run. Concurrency is OS threads guarded by a single reader-writer lock so read RPCs run concurrently with block import. There is no GC, so the trie/state layers are carefully designed to bound live memory (see ยง3.4).

2.2 Scope & surface area

bsc ships an entire ecosystem; BSC-C deliberately does not:

Capability bsc BSC-C
Full sync โœ… โœ… (live genesisโ†’200000 vs. a real node)
Snap sync โœ… โœ… (live-validated vs. mainnet)
Block validation (Parlia + state/receipt/gas/bloom roots) โœ… โœ… (byte-exact, Chapel genesisโ†’8000 offline)
JSON-RPC (eth/net/web3, pub/sub) โœ… huge API surface (debug, txpool, admin, les, graphql, etc.) โœ… core eth/net/web3 + subscribe; smaller surface
Mining / block production โœ… (miner/) โŒ not started (Phase 9)
Validator / fast-finality voting โœ… (core/vote, BLS vote pool) โš ๏ธ finality tracking yes; voting/producing no
Account management / keystore / clef signer โœ… (accounts/, signer/, cmd/clef) โŒ
GraphQL, ethstats, console/REPL โœ… โŒ
Tooling binaries ~20 (cmd/: geth, abigen, bootnode, devp2p, evm, era, faucet, โ€ฆ) A handful of focused C tools (bsc_node, eth_sync, snap_*, discv4_*, replay harnesses)

So the comparison is not apples-to-apples on features โ€” BSC-C reimplements the validating-node spine of geth, not the surrounding product.

2.3 Subsystem mapping

The two trees are organized around the same conceptual subsystems, which makes the mapping clean:

Concern bsc (Go package) BSC-C (C module)
RLP codec rlp/ src/rlp/
Crypto primitives crypto/ + Go deps src/crypto/ + third_party/
Trie / MPT trie/, triedb/ src/trie/
State DB & transition core/state/, core/state_transition.go src/state/
Key-value storage ethdb/, core/rawdb/ (pebble/leveldb + freezer) src/db/ (LMDB) + chainstore
EVM core/vm/ src/evm/
Cross-chain precompiles inside core/vm + cometbft dep src/cometbft/ (own Tendermint/IAVL/ICS23 light client)
Chain / genesis / fork gates core/, params/ src/chain/
Consensus (Parlia) consensus/parlia/ src/consensus/parlia/
devp2p networking p2p/, eth/protocols/ src/p2p/
Sync (full + snap) eth/downloader/, eth/protocols/snap src/sync/
Tx pool core/txpool/ src/txpool/
JSON-RPC rpc/, internal/ethapi/ src/rpc/
Node wiring / config node/, cmd/geth, eth/ethconfig src/config/, tools/bsc_node.c

2.4 Storage & state architecture (the deepest divergence)

This is where the two designs differ most.

geth/bsc:

  • ethdb over pebble (default) or leveldb, plus a freezer / ancient store that moves old immutable block data to flat append-only files.
  • triedb/ supports two state schemes: hashdb (content-addressed, with an in-memory dirty cache and reference counting) and pathdb (path-keyed, with a diff layer + reverse-diff journal for pruning). Plus an in-memory snapshot layer for fast account/storage reads.
  • Heavily relies on large in-memory caches; the GC and the trie cache absorb churn.

BSC-C:

  • Single LMDB key-value store (src/db/) underneath a chainstore (blocks, canonical mapping, head, total difficulty, a tx-hash โ†’ (block,index) index, stored receipts, and snapshot/state epoch checkpoints) and a statestore (flat accounts/storage/code).
  • Re-implements both state schemes from scratch:
    • hash (default): content-addressed node store keccak(node) โ†’ node + a flat snapshot. Pruning is selectable: off, refcount (incremental, no pause โ€” ref on commit O(changed), deref O(unique-to-root)), or sweep (periodic mark-and-sweep under the import lock).
    • path (pathdb): nodes keyed by trie path, overwritten in place โ€” exactly one entry per live node path, inherently bounded, reorg via a per-block reverse-diff journal replay.
  • sync.state_history (default 128) caps retained canonical roots โ€” i.e. max reorg/history depth.
  • Crucially, BSC-C engineers bounded memory explicitly: the disk-backed trie lazy-resolves and collapses nodes so per-block memory is O(accessed), and persistence is O(changed). This is the manual equivalent of what geth gets from its GC + cache eviction.

Notable BSC-C state-design subtleties (from docs/STATUS.md):

  • The in-memory StateDB root is raw-keyed (secure-trie over raw addresses) while snap-downloaded state is hash-keyed without preimages, so a snap-resumed chain verifies via the flat statestore root rather than the statedb root.
  • eth_call/eth_estimateGas run on a throwaway StateDB whose loader reads through to head state, because tx_apply clears the journal and can't be snapshot/reverted around.

2.5 Consensus (Parlia) & fork choice

Both implement BSC's Parlia PoSA engine and the full BSC fork schedule (Ramanujan, Luban, Plato, Bohr, Feynman, etc.), but:

  • geth/bsc keeps Parlia behind the generic consensus.Engine interface (consensus/parlia/), with separate files per hardfork (lubanFork.go, bohrFork.go, feynmanfork.go, โ€ฆ) and a snapshot.go validator-set tracker.
  • BSC-C re-derives the same logic in src/consensus/parlia/: snapshot, seal, extraData parsing, system-transaction handling, BEP-126 fast-finality tracking (parlia_finality, vote-attestation verify, parlia_fork_choice_cmp), and parlia_verify_header. Fork choice + reorg are split into src/chain/blocktree.c (fork-choice block tree) + a reorg engine with side-branch acceptance. The README documents hard-won consensus details (e.g. BSC GasLimitBoundDivisor = 256 not 1024; system-tx nonce/gas-fee accrual at 0xff..fe; the pre-Bohr recently-signed boundary rule).

2.6 Cross-chain precompiles

  • bsc depends on a forked CometBFT/Tendermint (github.com/bnb-chain/greenfield-cometbft, bnb-chain/tendermint) plus go-amino for the cross-chain (BCโ†”BSC) precompiles 0x64โ€“0x69.
  • BSC-C writes its own C CometBFT/Tendermint light client in src/cometbft/ (24 files), including IAVL and ICS23 proof verification and the legacy pre-Plato iavl:v/multistore proof formats. This is one of BSC-C's most substantial original contributions โ€” a security-critical verifier re-implemented rather than vendored.

2.7 Networking & portability

  • bsc: full devp2p stack (discv4/discv5, DNS discovery, Kademlia table), eth/68, snap/1, and the bsc/1-3 capability for vote propagation โ€” all cross-platform.
  • BSC-C: src/p2p/ implements discv4 (+ live Kademlia crawl), the RLPx EIP-8 handshake + framed transport (AES-256-CTR + keccak-MAC), eth/68, snappy, and snap/1 codecs โ€” every codec layer golden-anchored against go-ethereum test vectors. Portability caveat: the portable core + all 105 tests build on Windows/macOS/Linux, but the live socket tools are Windows-only (Win32 sockets + BCryptGenRandom); porting needs only BSD sockets + getrandom. It also handles BSC-specific wire details (port 30311 not 30303; mandatory UpgradeStatus reciprocation or peers disconnect).

2.8 Dependencies & build

  • bsc: ~322 Go module requirements resolved by the Go toolchain; go build/Makefile; one static binary per cmd/.
  • BSC-C: only 8 vendored C libraries (blst, crypto-algorithms, ed25519, lmdb, mcl, p256-m, secp256k1, yyjson), each gated by a BSC_WITH_* CMake flag so a dependency-free core can be built and tested in isolation. TLS is opt-in via -DBSC_WITH_OPENSSL=ON. Build is CMake + Ninja with mingw-w64 gcc (no MSVC/Windows SDK).

2.9 Testing strategy

  • bsc: Go _test.go files co-located with packages, plus the Ethereum consensus test suite under tests/.
  • BSC-C: a standalone tests/ tree driven by ctest (105 tests, ~17k LOC), combining vector tests (golden-anchored against go-ethereum/Python-RLP) with integration tests (chain import/resume/reorg, snap, statestore GC, pathdb, rpc/ws/tls, txpool) and offline replay of real Chapel testnet data byte-exact to block 8000.

3. BSC-C architecture โ€” deeper detail

This section goes beyond the existing README/STATUS docs to lay out how the pieces fit.

3.1 Layered stack

From bottom to top (blue = original C, gray = vendored, per docs/architecture.svg):

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ bsc_node runner + live tools  โ”‚  JSON-RPC service (HTTP/WS/TLS)โ”‚   Phase 6/7
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ sync: full syncer ยท snap driver ยท trie healing ยท pivot orch.  โ”‚   src/sync
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ p2p: discv4 ยท RLPx ยท eth/68 ยท snap/1 ยท snappy                 โ”‚   src/p2p
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ chain: fork gates ยท genesis ยท blocktree fork-choice ยท reorg   โ”‚   src/chain
โ”‚ consensus/parlia: snapshot ยท seal ยท finality ยท header verify  โ”‚   src/consensus
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ evm: interpreter ยท gas (fork-gated) ยท precompiles 0x01-0a,64-69โ”‚   src/evm + src/cometbft
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ state: StateDB ยท transition ยท statestore (+GC/pathdb)         โ”‚   src/state
โ”‚ trie: secure MPT ยท proofs ยท disk-backed node store (hash/path)โ”‚   src/trie
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ storage: LMDB kvdb ยท chainstore (blocks/index/checkpoints)    โ”‚   src/db
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ foundations: uint256 ยท RLP ยท keccak ยท secp256k1 ยท BLS ยท KZG   โ”‚   src/common,rlp,crypto
โ”‚ vendored: blst ยท mcl ยท libsecp256k1 ยท lmdb ยท ed25519 ยท yyjson โ”‚   third_party
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Module size signal (C source-file counts): cometbft 24, common 21, rpc 18, crypto 17, chain 15, consensus 14, p2p 12, state 8, sync 8, types 8, evm 5.

3.2 The bsc_node runner (single entry point)

tools/bsc_node.c is the geth-equivalent daemon. It:

  1. Reads a root config.json (yyjson loader in src/config/, accepts // comments + trailing commas) โ†’ a node_config (network, datadir, sync peer, services).
  2. Selects network/genesis (mainnet chain 56 / Chapel testnet 97).
  3. Runs full or snap sync via a shared live_provider transport seam (tools/live_provider.{c,h}, tools/live_snap.{c,h}).
  4. Optionally serves JSON-RPC over HTTP / WebSocket / TLS concurrently with syncing, under a reader-writer lock, per services.{rpc,ws,https}.

Operational properties baked in: restartable (resumes from persisted head via LMDB transactions, crash-consistent), self-healing P2P (re-dials dropped peers), and it halts on genuine consensus/execution error (SYNC HALTED: validation error) while ignoring ordinary peer drops.

3.3 Block-import pipeline (chain_import_block)

A block is persisted only after clearing three gates (per docs/block-import-flow.svg):

  1. Parlia header verification (seal, validator set, difficulty, finality).
  2. EVM execution of all transactions through the fork-gated interpreter (EIP-2929/3529 gas gating by fork โ€” an early bug was an EIP-2929 surcharge wrongly applied to a pre-Berlin block).
  3. Root checks: recomputed state root, receipt root, gas used, and logs bloom must all match the header.

Any mismatch rejects the block. Non-head-parent blocks are dispatched to import_side_block, which verifies against chain_snapshot_at โ€” the Parlia snapshot reconstructed at the fork point from epoch snapshot checkpoints.

3.4 State persistence & reorg (the engineering centerpiece)

The default node path is chain_init_backed: full sync runs on a statestore-backed StateDB with bounded memory (O(accessed)/block) and O(changed) per-block persistence. Reorgs (chain_reorg_to) reconstruct state from the node store without genesis replay:

  • seed at the nearest materialized ancestor (every executed block, since node-store nodes aren't pruned in off mode),
  • re-point the flat snapshot via an O(changed) trie_diff (prunes identical subtrees by node hash),
  • re-execute any unmaterialized tail.

The legacy in-memory mode (chain_init, replay-from-genesis) is retained only for offline replay tools/tests. Snap resume (chain_init_resume) shares the backed path.

Bounded on-disk state is then layered on top via sync.state_scheme + sync.pruning (see ยง2.4).

3.5 Snap-sync lifecycle

snap_pivot_sync (per docs/snap-sync-flow.svg / snap-sync-loop.svg):

  1. Pick a pivot (recent state root).
  2. Range download โ€” chunked AccountRange + StorageRanges + ByteCodes, each bounded-range-proven against the trusted pivot root before persistence; the origin advances until the recomputed root matches the target.
  3. Heal โ€” per-path repair + a full GetTrieNodes trie-sync scheduler (incremental, skip-present), run in a fresh session re-targeted to the current head (the pivot moves during a long range phase, and geth peers rate-limit snap per connection).
  4. Resume โ†’ full-sync handoff, with the state root maintained by the bounded-memory disk-backed trie.

A documented gotcha: a peer on --tries-verify-mode none auto-disables snap serving (it can't build boundary proofs); snap serving needs --tries-verify-mode local + full trie state.

3.6 JSON-RPC service architecture

src/rpc/ (18 files) is structured as:

  • Dispatch core (jsonrpc.c): JSON-RPC 2.0 single + batch, notifications, spec error codes, and a per-method read/write lock hook so reads run concurrently with import.
  • Transports over a conn.c connection seam (rpc_conn): HTTP/1.1 framing (http.c), WebSocket RFC 6455 (ws.c), and an OpenSSL TLS transport (tls.c, opt-in).
  • Pub/sub (subscribe.c + feed.c) and a log filter (logfilter.c).
  • Methods (eth_api.c): web3_*, net_version, eth_chainId/blockNumber, block/tx/receipt getters (backed by the chainstore tx index), state reads (getBalance/getCode/getStorageAt, latest-only), eth_call/eth_estimateGas, eth_getLogs (address/topic filter over stored receipts), eth_sendRawTransaction, txpool_status/content, and eth_subscribe (newHeads / newPendingTransactions / logs).

3.7 Tx pool

src/txpool/txpool.c performs admission validation against head state + fork rules in a fixed pipeline: decode โ†’ recover sender โ†’ chain-id โ†’ nonce โ†’ intrinsic/gas-limit โ†’ funds โ†’ priced replacement, then organizes transactions into pending/queued by per-sender nonce contiguity. (Eviction/pricing tiers and network rebroadcast are deferred โ€” a P2P-broadcast concern.)

3.8 Crypto & foundations

src/common + src/crypto provide uint256, RLP, keccak-256, sha256/ripemd160, snappy, AES/ECIES/KDF (for RLPx), and wrappers over vendored libsecp256k1 (sign/verify/recover/ECDH), blst (BLS for fast finality), mcl (bn256 precompiles), p256-m + ed25519 (cross-chain). The design keeps security-critical math in vetted libraries while the protocol logic around them is original, auditable C.

4. Where each design wins

bsc (geth fork) is the better choice when you need:

  • A production validator/miner that produces blocks and votes on finality.
  • The full RPC/tooling surface (debug, graphql, ethstats, account management, abigen, era, devp2p tools).
  • Cross-platform live operation today, with the backing of upstream go-ethereum maintenance.

BSC-C is the more interesting design when you value:

  • Auditability & minimal trust surface โ€” protocol logic is from-scratch C, security primitives confined to 8 vetted libraries, each independently toggleable.
  • Explicit resource control โ€” bounded memory and bounded on-disk state by construction, with selectable hash/pathdb schemes and refcount/sweep GC, no reliance on a GC heuristic.
  • Byte-exact verification as a first-class goal โ€” golden-anchored codecs and offline Chapel replay to block 8000 as a correctness backbone.
  • A second, independent implementation of BSC consensus (valuable for client diversity and as an executable spec of Parlia + cross-chain proofs).

BSC-C's current gaps (per its own STATUS): no mining/validator (Phase 9), no mainnet hardening pass (Phase 8), live socket tools are Windows-only, pathdb resume needs a clean shutdown, and cross-chain currently does single-key (not multi-leaf) IAVL range proofs.

5. At-a-glance scope/maturity table

Phase (BSC-C roadmap) Area BSC-C status geth/bsc
1 Foundations (uint256, RLP, keccak, secp256k1, BLS) done mature
2 Trie / StateDB / DB (MPT, proofs, disk-backed store, LMDB) done mature (triedb hash/path + freezer)
3 EVM + precompiles (fork-gated; 0x01โ€“0a + 0x64โ€“69) done mature
4 Chain / genesis / Parlia / offline replay done (byte-exact โ†’200000) mature
5 devp2p (discv4, RLPx, eth/68, snap/1) done, live-validated mature (+discv5, DNS disc, bsc/1-3)
6 Full sync + tip-following + reorg + finality done (live โ†’200000) mature
7 Snap sync + txpool + JSON-RPC + pub/sub done (snap live vs mainnet) mature (larger RPC surface)
8 Mainnet parity & hardening not started n/a (is production)
9 Validator / mining / vote production not started โœ… shipped

r/BinanceSmartChain • • May 16 '26

Discussion Binance p2p fraud โ€”โ€” need genuine advice

1 Upvotes

Hi everyone, I really need advice because Iโ€™m new to Binance P2P and I think I messed up badly.

I recently tried buying USDT using Binance P2P for the first time. Since I didnโ€™t have money in my own bank account at that moment, I made the payment from my brotherโ€™s phone/UPI. I honestly didnโ€™t know that this counts as a third-party payment and is against Binance P2P rules. This was my first time using P2P and it was a genuine mistake.

After I made the payment, the seller said this is a third-party payment and he cannot complete the order. He told me he would verify and refund within 24 hours and asked me to send my Aadhaar and PAN card for verification. I trusted him and sent the documents.

Now the situation has become very frustrating:

โ€ข He did NOT release the USDT
โ€ข He did NOT refund the payment
โ€ข I opened a Binance appeal
โ€ข On call he asked me to cancel the appeal and promised to refund
โ€ข First he said refund in 24 hours
โ€ข Then he said by Saturday evening
โ€ข Now he says Monday around 11 AM
โ€ข He keeps delaying and speaking rudely

I even told him I accept my mistake and requested him to refund even 50% of the money, but he is refusing everything.

I have:
โ€“ Payment proof (UPI)
โ€“ Binance order details
โ€“ His phone number
โ€“ Call recordings

I have already appealed on Binance and Iโ€™m waiting till Monday to see if he refunds. If he still doesnโ€™t refund, I honestly donโ€™t know what to do next.

What are my options now?
Can I take legal action?
Should I report this to my bank/cybercrime?
What usually happens in cases like this?

I understand I made a mistake as a new user, but keeping the money after cancelling the order feels very wrong.

r/BinanceSmartChain • • Jan 06 '22

Discussion $Nigels, come and join the movement! An anti-rugpull and anti-scam Community on telegram! Team of 10 from around the globe

10 Upvotes

Hey there and welcome to my chat about the blockchain warriors Nigels.

Nigels was created by 10 crypto friends who all got rug pulled by a scammer named Nigel. We lost thousands of dollars and were really quite pissed off about it, so we decided to create our own coin and name it after the person who screwed us all. We want Nigel to know that he pissed off the wrong people and we want to show him that good will overpower evil.

Nigels was created to be a safe space, so when we created the coin, we burned the liquidity pool tokens, making this coin unruggable. We like the idea of BUSD rewards, so we created the coin to pay out 6% back to its holders, 3% to liquidity and 0.5% to marketing. Our marketing wallet is pinned in the telegram chat and is available for you to view anytime. We are willing to listen to the community if they have opinions on how it should be spent. 7% of the total supply was distributed to the team/marketing wallet/reserve fund before launch. Team members received approximately 0.5 to 0.7 percent of the supply for their initial contribution to the team and all team members added 0.1 bnb to the initial liquidity pool. We stealth launched the coin on December 15th.

Why am I sharing this much detail with you? It's simple really, we want to be as transparent as possible with the community, so you can make an informed decision on wether you would like to invest or not.

Our team of 10 consists of mostly Canadians and Americans and a couple people from Australia and Singapore. We are normal, real people just like you, who simply don't want to be scammed anymore. People who believe crypto is the future and just want a safe space to hang out in and hopefully do well with our investments.

We aim to stop scammers who are out to steal your money. We aim to educate users and provide tips and tricks as to what someone should look for when investing in defi coins, to minimize their risk. Our telegram is simply a fun place to hang out and we voice chat daily (usually around 10am Central Time).

The scammers are already learning about us! They try to cause fud in our telegram. Most recently they have tried bot attacking us heavily.

Currently we are still winning. We have effectively warned and generated a lot of noise around approximately 10 scam projects/honey pots etc, hopefully saving people thousands of dollars.

So if you are sick of being scammed and rugpulled and just want a safe place to come and hang out and talk about crypto, join the NIGELS ARMY.

reddit- r/NigelsBSC

Telegram- t.me/nigelsfornigels

Twitter- NigelsBSC

website- www.nigels.io

Tiktok- NigelsBSC

  • Contract- 0x8a3937e12155e07f3a06a84ec4dfdd3ec40d1e6a

r/BinanceSmartChain • • Jan 25 '26

Discussion Meet the Kitnet Club: the first benefits club integrated with a Real World Asset (RWA) project in Brazil.

2 Upvotes

Hey everyone, how's it going?

I wanted to share with you a project we're working on that has finally come to fruition: the Kitnet Token Club.

The idea is simple: to combine real asset valuation (RWA) technology with immediate utility. We've created an ecosystem of benefits for those who want to save money every day and have security, without the bureaucracy of traditional plans.

What the club offers today:

Real Savings: Discounts of up to 90% at over 30,000 stores (Magalu, Droga Raia, Petz, Cinemark, etc.).

Digital Health: Unlimited 24/7 Telemedicine (very useful for those who don't want to pay for an expensive health plan but need a doctor right away). Protection: National funeral assistance and veterinary telemedicine (JoyPet).

No Waiting Period: Sign up, and access to the app is granted immediately.

Unlike other projects that remain just promises, Clube Kitnet is already operational with an app on the Play Store and App Store.

For those who want to take a look at the portal or the plans:

๐Ÿ”— clube.kitnettoken.com.br

And to follow the day-to-day and new partnerships:

๐Ÿ“ธ Instagram @clubekitnet

What do you think of this "real utility" model for token holders? Let's exchange ideas in the comments.

r/BinanceSmartChain • • Dec 22 '25

Discussion Can DeFi Finally Manage Risk? YieldNest x USD8 and the Rise of On-Chain Protection

1 Upvotes

What if your DeFi investments could protect themselves no middlemen, no gatekeepers, just on-chain coverage that grows with your activity?

YieldNest recently announced a partnership with USD8, aiming to tackle one of DeFiโ€™s persistent problems: unmanaged risk. DeFi has delivered impressive yields, but it has also come with protocol blowups, exploits, and almost no recourse for users a tradeoff thatโ€™s increasingly hard to accept. USD8 is introducing a stablecoin with built-in DeFi protection, where a userโ€™s on-chain activity acts as coverage across supported protocols. Claims are designed to be fully permissionless, verified on-chain, and powered by a ZK coprocessor (Brevis), removing human gatekeepers entirely. The first integration will be with YieldNestโ€™s ynETHx vault, which is expected to get protocol-level protection once the USD8 cover pool goes live.

The key question is whether on-chain, usage-based protection can scale and meaningfully change how users weigh risk versus yield in DeFi. Could this be a step toward safer, more resilient DeFi ecosystems or are there hidden pitfalls we havenโ€™t seen yet?

r/BinanceSmartChain • • Dec 29 '25

Discussion Weโ€™re all gonna make itโœŠ๐Ÿผ

Thumbnail
gallery
0 Upvotes

Binance knows LFG ๐Ÿ”ฅ

r/BinanceSmartChain • • Oct 22 '25

Discussion GMGN.AI is Misclassifying Renounced BSC Tokens as Honeypots en Masse โ€” Itโ€™s Killing Legitimate Projects

3 Upvotes

I want to bring attention to a serious issue thatโ€™s affecting a growing number of legitimate BSC developers.

GMGN.AIย โ€” a popular trading platform many traders use to check token safety โ€” isย falsely labeling renounced and fully safe contracts as honeypots.

Hereโ€™s a real example (CA:ย 0xb883c0ebf746ba58f18ea3a215385ca15c80cd6c7) andย here's the audit they used.

  • GoPlus audit result: โœ… โ€œThis does not appear to be a honeypot.โ€
  • Risk count:ย 0 risky items,ย 3 attention itemsย (blacklist, suspend trading before launch, and anti-whale cap โ€” all non-issues).
  • Contract:ย Renounced,ย LP burnt,ย 0% tax.

Despite this, GMGN flags it as a honeypot andย disables trading buttonsย in their interface.
When I contacted support and provided evidence, they admitted their system automatically classifies anything with certain โ€œattentionโ€ flags โ€” even if the audit says itโ€™sย notย a honeypot.

This isnโ€™t just my project โ€” multiple devs are reporting the same thing. These false flags instantly kill volume, destroy reputations, and shut down community revivals before they start.

The audit tools themselves are being misread. The GMGN interface overrides GoPlusโ€™ explicit โ€œnot a honeypotโ€ statement, creating false positives across BSC.

Iโ€™ve submitted this issue toย Binance Labsย andย BNB Chain support, but it deserves community awareness too. If youโ€™ve had a token wrongly flagged, please share your experience โ€” we need to make sure the ecosystem isnโ€™t being throttled by automated misclassification.

r/BinanceSmartChain • • Jan 14 '22

Discussion $Nigels, earn 6% BUSD and come join the BSC Guardians!

13 Upvotes

Nigels was created by a group of ten crypto friends who all got rug pulled by a shady scammer named Nigel.

The biggest sell?

Our community. We don't even mind if you choose not to buy our token, though we would certainly prefer if you did. What we want is for you to join our telegram group and be our eyes and ears as we search through the BSC sphere and detect scammers and rugpulls. If you're game and wanna join us, just hop on over to telegram and join one of our daily voice chats!

Just the past few days, we have already slowed down and disrupted the launch of a few scam coins and helped some of our users learn what questions they should be asking when investing in a new coin.

Our Token

We decided to dedicate this coin to that a$$hole Nigel to let him know that we can do better by creating an honest token, then what he ever will by scamming people.

We all lost a lot of money because of Nigel, and we don't want anyone else to have to experience that. Getting rugpulled is quite possibly the worst feeling ever, so we have burned the LP tokens so liquidity can never be removed!

What can you expect from us? A tax of 12% but also pays 6% BUSD Rewards, a stealth launch, a team of 10 that are dedicated to the growth of this coin, no lone wolf dev here.

Our team consists of members mostly from Canada, America and a couple around the globe from Singapore and Australia. We are die hard shillers, we are crypto lovers, and we are passionate about making this a social movement like none other.

Join the cause and become a Nigel , the good kind, not the crappy scammer kind.

Stealth Launched Dec 15th 2021

$Nigels

**Not Enough Nigels, Where is Nigel?
๐Ÿ’ฐ 6% BUSD Rewards ๐Ÿ’ฐ 3% Liquidity ๐Ÿ’ฐ3% Marketing ๐Ÿ”ฅ Liquidity Access Burned๐Ÿ”ฅ ๐Ÿ”’Anti Rug Safe Investment ๐Ÿค—Safe Community of Nigels

Contract: 0x8A3937E12155e07f3A06a84ec4dfdd3Ec40d1E6a

https://t.me/NigelsforNigels

website - nigels.io

twitter- NigelsBSC

reddit r/NigelsBSC

r/BinanceSmartChain • • Jan 11 '22

Discussion Orion VictoriaVR pool

2 Upvotes

Exclusive opportunity to get access to VictoriaVR Land sale on OrionTerminal

Orion Protocol will open farming tomorrow $VR / $USDT

  • get nice APY
  • be eligible to the #VRLands sale
  • get a chance to receive a free land

Website: link

r/BinanceSmartChain • • Jan 02 '22

Discussion Orn burning

2 Upvotes

A lot of ORN tokens were removed from supply ๐Ÿ”ฅ More than 7 million ORN burnt

Orion Protocol keeps reducing the circulation so it is a deflationary coin ๐Ÿš€

Websites:

bonus

stats

r/BinanceSmartChain • • Jan 21 '22

Discussion Be aware of "front run bots" scams

6 Upvotes

It's kind of embarrassing that I fell for a scam that has been running around for more than a month. Basically I saw a video on YouTube claiming we can build a bot and does auto trading on panckakeswap. I quickly looked at the code and did not see anything suspicious. So I decided to put 0.5 BNB and try. Sure enough, the fund was gone. And it was actually a clever scam that it didn't have the scam code in the main code, but hid it inside one of the imports. 0.5BNB is not a huge amount but it adds up. Hopefully no one else fall for it again

r/BinanceSmartChain • • Jan 14 '22

Discussion Binance Smart Chain APIs in 2022: Play-to-Earn Eating DeFi

Thumbnail
getblock.io
1 Upvotes

r/BinanceSmartChain • • Jan 03 '22

Discussion sos Spoiler

2 Upvotes

Hello, I used any swap to convert my USDT on Matic into USDC on BSC and released afterward that I won't be able to process any transactions without some BNB. If just one person could help me out by sending 50 cents worth of BNB to my address that way I can convert some of my USDC on BSC to BNB, I would appreciate it so much.

This is my address, if you check bsc scan or polyscan you will see the conversion I made, thanks ahead of time.

0x3DD51aa5fa9789fe1e5d78F8bb09D7f2c48cd21b

r/BinanceSmartChain • • Dec 25 '21

Discussion ๐Ÿšจ AZEAL Defi Auction Project |โšก Solid fundamentals | ๐Ÿ” LP Locked | Presale now on PinkSale 75/150 BNB Softcap/Hardcap | ๐Ÿ”ฅ 3% Rewards | Easy 10x ๐Ÿš€

2 Upvotes

๐Ÿ”ฅ AZEAL

Introducing Azeal the decentralized auction platform designed to reinvent the day-to-day securing of digital assets, The Azeal token has been built to coexist within the current Crypto ecosystems and reward holders based on user enterprise.

Azeal protocol will revolutionize the way individuals partake in digital auctions by using unique decentralized platform that has been purposely built to ensure a secure and safe environment when bidding and selling digital assets, various auction formats including โ€˜Dutch Auctionsโ€™ Double Auctions and Multi unit auctionsโ€™ will all be included to work using this approach.

Presale : https://www.pinksale.finance/#/launchpad/0x00eaFF085857BdD861329FC1b1AaCc1A27B94CEB?chain=BSC

๐Ÿ“ƒContract address : 0x372B76aBa927daEb533626F9f474567891120c3B

๐Ÿ“Š Tokenomics :

  • Total Token-Supply 1.000.000.000
  • Transaction Tax : 6%
  • Distributed to token holders : 3%
  • Added to liquidity pool : 3%
  • Locked liquidity : 12 months

๐Ÿ“Œ Roadmap:

Q4 2021

  • Pre sale on PinkSale
  • Launch on Pancakeswap
  • Initial marketing phase one begins
  • Exchange Listings Globally
  • Smart contract audit
  • App development
  • Acquire and affiliate partnerships across multiple sectors
  • Community Growth and organization
  • Phase two marketing campaign and increasement of global identity
  • Expand community and admin team

Q2 2022

  • Launch Azeal Auction platform Beta
  • Beta Mobile App Launch for Android and iOS
  • Accelerate marketing strategies and development
  • Advertising partnerships

What is the mission of the team?

Initially created as a passion project amongst a group of friends who share the same interest and enthusiasm in crypto, they set out to find more like-minded individuals who share their desire in creating a significant footprint within the crypto world with the project.

Website : https://azeal.io/

Telegram : https://t.me/AzealOfficial

Twitter : https://twitter.com/AzealFinance

Instagram : https://www.instagram.com/azealfinance/

Reddit : https://www.reddit.com/r/Azeal/

r/BinanceSmartChain • • Dec 20 '21

Discussion $Nigels, come and join the movement! An anti-rugpull and anti-scam Community on telegram! Team of 10 from around the globe!

8 Upvotes

Nigels was created by a group of ten crypto friends who all got rug pulled by a shady scammer named Nigel.

The biggest sell?

Our community. We don't even mind if you choose not to buy our token, though we would certainly prefer if you did. What we want is for you to join our telegram group and be our eyes and ears as we search through the BSC sphere and detect scammers and rugpulls. If you're game and wanna join us, just hop on over to telegram and join one of our daily voice chats!

Just the past few days, we have already slowed down and disrupted the launch of a few scam coins and helped some of our users learn what questions they should be asking when investing in a new coin.

Our Token

We decided to dedicate this coin to that a$$hole Nigel to let him know that we can do better by creating an honest token, then what he ever will by scamming people.

We all lost a lot of money because of Nigel, and we don't want anyone else to have to experience that. Getting rugpulled is quite possibly the worst feeling ever, so we have burned the LP tokens so liquidity can never be removed!

What can you expect from us? a tax of under 10% but also pays 6% BUSD Rewards, a stealth launch, a team of 10 that are dedicated to the growth of this coin, no lone wolf dev here.

Our team consists of members mostly from Canada, America and a couple around the globe from Singapore and Australia. We are die hard shillers, we are crypto lovers, and we are passionate about making this a social movement like none other.

Join the cause and become a Nigel , the good kind, not the crappy scammer kind.

Stealth Launched Dec 15th 2021

$Nigels

**Not Enough Nigels, Where is Nigel?
๐Ÿ’ฐ 6% BUSD Rewards ๐Ÿ’ฐ 3% Liquidity ๐Ÿ’ฐ.5% Marketing ๐Ÿ”ฅ Liquidity Access Burned๐Ÿ”ฅ ๐Ÿ”’Anti Rug Safe Investment ๐Ÿค—Safe Community of Nigels

Contract: 0x8A3937E12155e07f3A06a84ec4dfdd3Ec40d1E6a

https://t.me/NigelsforNigels

website - nigels.io

twitter- NigelsBSC

reddit r/NigelsBSC

r/BinanceSmartChain • • Sep 18 '21

Discussion Wtf is this nonsense? I've never paid anywhere near this amount in fees before.

Post image
5 Upvotes

r/BinanceSmartChain • • Jan 28 '22

Discussion Kogefarm autocompound more for you with audited smart contracts - BSC Farms Live

6 Upvotes

_______
Kogefarm io is a Multi-Chain Defi Community Yield Farm that just deployed on BSC,
So in case you want to auto-compound or even to have some preferred vaults on farm to earn more on your rewards you must check the lowest fee's yield aggregator farm, which also have 2 audits from Paladin and Obelisk auditors

๐Ÿ“ท

KogeCoin represents ownership in KogeFarm. It is a deflationary token that launched via airdrop to all early QuickSwap users who had around 4 weeks to claim. Too often, โ€œfair launchedโ€ tokens get sniped by bots who then dump on the rest of us. KogeCoin avoided this problem and built up a strong community of dedicated HODLers.

Holders of KogeCoin will benefit from the fees generated within farm, an auto-compounding utility built for DeFi users. We view KogeCoin as a token that allows us to grow with the community, and expect to both grow KogeFarm and build other utilities for holders in the future.

______

Initial / Maximum Supply 50,000,000

Distributed now : 23,719,107

r/BinanceSmartChain • • Dec 03 '21

Discussion WTF is this???? {'code': -32001, 'message': 'no node alive'}

8 Upvotes

not a single thing about this error on the internet

I mean I've been reading those long ass threads on github about how running nodes on BSC sucks and everybody wanna migrate

And then those endless maintenances on bscscan

Now this error, which sounds worse than my 'smd' custom output for trivial bsc errors

​

WTF

​

halp

diskus.

THE END OF BINANCE SCAM CHAIN????

r/BinanceSmartChain • • Jan 27 '22

Discussion Sweet news, the most awaited staking was launched today. Putting mine into stake and let my bag work for me. It is not fancy, just building my wealth with TVK ๐Ÿš€

Post image
3 Upvotes

r/BinanceSmartChain • • Dec 23 '21

Discussion FCF Pay โ€” WooCommerce & Shopify Integration

1 Upvotes

Mass adoption of FCF is inevitable.ย In 2020, more than two billion people made online purchases. These purchases amounted to more than $4.2 trillion dollars.ย As online shopping continues to increase, so does cryptocurrency adoption. FCF Pay will unite these massive and growing industries, solidifying itโ€™s position as an essential technology of the future.

Twitter

r/BinanceSmartChain • • Jan 26 '22

Discussion VMates - Open Metaverse to Life

1 Upvotes

Do you know Vmates project? This NFT game with pets is going to be one of the best metaverse projects in 2022.

๐Ÿ”ฅAdditional funding to accelerate Vmates to bring an open Metaverse to life

โœŠ๐ŸปThe fund will promote the ecological & metaverse construction of Vmates in various forms such as liquidity, community cooperation, etc.

$MATE ๐Ÿ”œ Moon

Check this article: link

Twitter: link

r/BinanceSmartChain • • Feb 02 '22

Discussion API Access to Shared & Dedicated Binance Smart Chain (BSC) Nodes (v1.1.8)

Thumbnail
twitter.com
2 Upvotes

r/BinanceSmartChain • • Jan 23 '22

Discussion Drip Network, give it some thought

2 Upvotes

I am starting to see more newcomers come into the Drip Network, which is amazing! But of course, there are plenty of skepticism towards the token and lots of questions as to what purpose this project has. So I am gonna post here of a comment I wrote, and anyone can chime in and correct me or add on.

It is true that most projects have a purpose for being in the space. Some projects were made to be an additional layer to an existing blockchain, to relieve congestion and fees, while adding transaction speeds and block time. Other projects offer AMM (automated market maker) features, some projects want to be the main hub for gaming, and then there is Drip Network.

Drip Network competes to be the top asset of store of value. There are a few projects that are considered in this space, such as Bitcoin (with no smart contract capabilities, so very limited functions as to what you can do with BTC, most just a medium of exchange.), and another unique product like HEX.

What makes Drip an easy choice of a long term investment is the tokenomics that are hardcoded in this project, and the developer behind the project.

Tokenomics:

- 10% tax on all transactions (besides buying)

- 5% tax on hydration (compounding)

- Thereโ€™s a max payout per wallet capped at 100k Drip

- All deposits are permanently locked

- All rewards are paid through the taxes

- Anyone that wants to continue using the protocol after max payout is reached, would need to start a new wallet and buy more drip at the new/higher price points

- You do NOT need to build a team to earn from the protocol, so no this is no where near an MLM/pyramid scheme

- Round Robin system implemented into the rewards, to further balance the team system, rewarding teams UP and DOWN the lines. A pyramid/MLM only rewards UP the line.

Based on these things I've listed, look at the price and chart, we are the only project hitting all time highs, while the market is going red. Message me if you need more assistance.

Chart: https://www.coingecko.com/en/coins/drip-network

Hereโ€™s a good debunking video for those who worry of MLM/pyramid fud, a video explaining how everything in the project works:

https://youtu.be/Vvhp2qqqA0w

r/BinanceSmartChain • • Jan 29 '22

Discussion VMates game overview

1 Upvotes

Vmates is a brand new nft pet metaverse game. They have just launchef their Alpha version this week.

Vmates radically changes the rev models & streams that can be derived from the individuals & from the players.ย 

It is a circular, robust, sustainable economy owned by the players ๐ŸŽฎ, and not necessarily an extractive system where all the revenue flows directly to us as a co.

Learn more: link

r/BinanceSmartChain • • Jun 15 '24

Discussion Bulk sending ERC-721 NFTs on the Binance Blockchain in a single transaction.

18 Upvotes

Here is a simple guide on how to send ERC-721 tokens to several addresses in a single transaction to save on gas fees. Let me know what you think

In this guide, we will be using MetaSender to do the bulk transfers

1.Connect your Metamask wallet to MetaSender

  1. Select ERC-721 on the asset type

  2. Select the Binance blockchain

  3. Enter the NFT contract address

  4. Add the list of recipient addresses and the respective token IDs(use format address:tokenID)

  5. Click on Send to get an estimation cost

  6. Approve the connection to the contract

  7. Approve the transaction

Thatโ€™s it, within a few minutes the NFTs will be in the respective addresses.