Conversation
yutianwu
approved these changes
May 25, 2020
HaoyangLiu
approved these changes
May 25, 2020
unclezoro
added a commit
that referenced
this pull request
Dec 25, 2020
[R4R] release 1.9.13-alpha0 for Rialto network
unclezoro
referenced
this pull request
in unclezoro/bsc
Apr 13, 2021
add consensus engine Parlia implement add async write rotate log handler add precompile light client contracts prepare for release 1.0.0-alpha.0 for Rialto network #1 Signed-off-by: fudongbai <296179868@qq.com> add key features to the readme update 'running a node' part of readme (#2) more strick condition for system transaction add gov init transaction fix validator failed to sync a block produced by itself update stale depth add gas limit check in parlia implement remove redundant gaslimit check fix debug_traceTransaction crashed issue (bnb-chain#13) add bep2p tokens for faucet (#5) add cross chain contract to system contract allow slash failed (bnb-chain#15) update metaversion to beta.0 add changelog for v1.0.0-beta.0 add chain id into sign bytes to avoid replay attack (bnb-chain#18) reestimate the gas consumption for system tx when there is 41 validators (bnb-chain#19) prepare for 1.0.0-beta.1 (bnb-chain#20) resolve best practice advice enforce backoff time for out-turn validator (bnb-chain#23) framework for upgrade system contract improve upgrade config refactor upgrade config add beforeUpgrade and afterUpgrade add multiple upgrade config resolve comment add upgrade height for rialto fix deplay check fix hex code of new smart contract fix index out of range fix not return error when blockTimeVerifyForRamanujanFork failed update chapel ramanujan fork prepare for release 1.0.1-beta add niels fork eth/tracers: revert reason in call_tracer + error for failed internal calls (#21387) * tests: add testdata of call tracer * eth/tracers: return revert reason in call_tracer * eth/tracers: regenerate assets * eth/tracers: add error message even if no exec occurrs, fixes #21438 Co-authored-by: Martin Holst Swende <martin@swende.se> remove disclaim prepare for release 1.0.2 R4R: add max gas allwance calculation (bnb-chain#36) * calculate max gas allwance * return error for missing from prepare release 1.0.3 use fixed gas price since bsc network is idle upgrade to golang1.15.5 Disable noisy log from consensus engine Hide some smart contract tracing logs from parlia consensus engine Create PULL_REQUEST_TEMPLATE add change log for release v1.0.4 add curl in docker image les: fix GetProofsV2 bug (#21896) fix potential deadlock of pub/sub module add rpc method request gauge add x-forward-for message in log support fork id in header; elegant upgrade avoid false warn log consensus/ethash: use 64bit indexes for the DAG generation (#21793) * Bit boundary fix for the DAG generation routine * Fix unnecessary conversion warnings Co-authored-by: Sergey Pavlov <spavlov@gmail.com> signer/storage: fix a badly ordered error check (#21379) core: fix txpool off-by-one error (#21683) internal/ethapi: fix nil deref + fix estimateGas console bindings (#21601) * tried to fix * fix for js api * fix for nil pointer ex * rev space * rev space * input call formatter rpc: fix issue with null JSON-RPC messages (#21497) accounts/abi: fix a bug in getTypeSize method (#21501) * accounts/abi: fix a bug in getTypeSize method e.g. for "Tuple[2]" type, the element of the array is a tuple type and the size of the tuple may not be 32. * accounts/abi: add unit test of getTypeSize method p2p/enode: avoid crashing for invalid IP (#21981) The database panicked for invalid IPs. This is usually no problem because all code paths leading to node DB access verify the IP, but it's dangerous because improper validation can turn this panic into a DoS vulnerability. The quick fix here is to just turn database accesses using invalid IP into a noop. This isn't great, but I'm planning to remove the node DB for discv5 long-term, so it should be fine to have this quick fix for half a year. Fixes #21849 p2p/discover: fix deadlock in discv5 message dispatch (#21858) This fixes a deadlock that could occur when a response packet arrived after a call had already received enough responses and was about to signal completion to the dispatch loop. Co-authored-by: Felix Lange <fjl@twurst.com> R4R: apply mirror sync upgrade (bnb-chain#56) * apply mirror sync upgrade remove 0x update rialto genesis hash update tokenhub code * update tokenhub code * update relayer incentive contract code * update upgrade height and remove mainnet upgrade prepare for release v1.0.5 (bnb-chain#64) [R4R]appay mirror/sync fork to main-net; release for 1.0.6 (bnb-chain#68) * appay mirror/sync fork to main-net; release for 1.0.6 * fix upgrade do not work change the fork waring to debug to avoid confusion (bnb-chain#73) add jq to docker file (bnb-chain#84) add tini for docker image (bnb-chain#90) Co-authored-by: swift.du <yalin.du@binance.com> add directbroadcast flag (bnb-chain#99) limit range get log R4R: add batch query methods (bnb-chain#115) * add batch query method * GetTransactionDataAndReceipt * add new rpc to goclient * fix web3 console * rename tx_data to txData [R4R]apply max commit tx time for miner worker (bnb-chain#112) * apply max commit tx time for miner worker * update to 200 ms validator only write database state when enough distance (bnb-chain#116) add health check endpoint (bnb-chain#120) prepare for release v1.0.7 update receiptsCacheLimit to 10000
keefel
referenced
this pull request
in keefel/bsc
Sep 24, 2021
* ligth sync: download difflayer Signed-off-by: kyrie-yl <lei.y@binance.com> * download diff layer: fix according to the comments Signed-off-by: kyrie-yl <lei.y@binance.com> * download diff layer: update Signed-off-by: kyrie-yl <lei.y@binance.com> * download diff layer: fix accroding comments Signed-off-by: kyrie-yl <lei.y@binance.com> Co-authored-by: kyrie-yl <lei.y@binance.com>
unclezoro
added a commit
that referenced
this pull request
Sep 28, 2021
* implement block process part of light sync * add difflayer protocol * handle difflayer and refine light processor * add testcase for diff protocol * make it faster * allow validator to light sync * change into diff sync * ligth sync: download difflayer (#2) * ligth sync: download difflayer Signed-off-by: kyrie-yl <lei.y@binance.com> * download diff layer: fix according to the comments Signed-off-by: kyrie-yl <lei.y@binance.com> * download diff layer: update Signed-off-by: kyrie-yl <lei.y@binance.com> * download diff layer: fix accroding comments Signed-off-by: kyrie-yl <lei.y@binance.com> Co-authored-by: kyrie-yl <lei.y@binance.com> * update light sync to diff sync * raise the max diff limit * add switcher of snap protocol * fix test case * make commit concurrently * remove peer for diff cache when peer closed * consensus tuning * add test code * remove extra message * fix testcase and lint make diff block configable wait code write fix testcase resolve comments resolve comment * resolve comments * resolve comments * resolve comment * fix mistake Co-authored-by: kyrie-yl <83150977+kyrie-yl@users.noreply.github.com> Co-authored-by: kyrie-yl <lei.y@binance.com>
flywukong
referenced
this pull request
in flywukong/bsc
Feb 24, 2022
I/O and prefetcher cost metrics
realuncle
pushed a commit
to realuncle/bsc
that referenced
this pull request
Mar 16, 2022
[WIP]Fast Finality: vote part
swlfigo
added a commit
to swlfigo/bsc-official
that referenced
this pull request
Apr 27, 2023
* 主节点新增接收到新TX广播到本地Redis 接受本地Redis计算后TX广播到已经连接的Peers * Add Official config && genesis.json * Change Config
unclezoro
pushed a commit
that referenced
this pull request
Nov 30, 2023
galaio
pushed a commit
to galaio/bsc
that referenced
this pull request
Jul 31, 2024
This commit squashes the op-geth fork history into a more maintainable diff for rebasing upon upstream geth. reference-optimistic-geth changes (origins of op-geth in early Bedrock development stage): - Deposit TX Type - Enable deposit tx in EVM/tx pool - Change deposit nonce to not be the max nonce - Extend PayloadAttributesV1 with a Transactions field - Force deposits at the start of each L2 block - Fix height check - noTxPool flag, reproduce block in verifier mode without tx pool interference - Fix RPC json marshalling (ref op-geth PR 4) - Deposit txs block height check in block body validation (ref op-geth PR 5) - core: do not try to reinject deposit txs into tx-pool (ref-op-geth PR 6) - deposit source hash field instead of L2 block height and tx index combination - Include invalid deposits, rewind state, but always persist mint (bnb-chain#10) - Provide gas to Call/Create in deposit transactions (bnb-chain#12) - Add docker builds (ref-op-geth PR 16, 17) - Don't panic on deposit transaction signature values or chain ID (ref-op-geth PR 18) - core: Add version to DepositTx (ref-op-geth PR 19) - Enable Geth build/lint/test in CircleCI (ref-op-geth PR 23) - core: Include guaranteed gas in the gas pool (ref-op-geth PR 21) - core: handle base fee, l1 availability fee, tx fee (ref-op-geth PR 27) - fix: deposit tx hash - fix l1 fee cache, rpc, tracing and tx pool - core: remove deposit-tx sub-type (a.k.a. deposit version byte) - eth/catalyst: allow engine user to reorg own chain - miner: restore ability to reorg deep as block builder - params: print Optimism consensus type in banner - core/types: remove unused protected() method, see upstream PR 23376 - core: do not mutate original balance value in tx pool l1 cost adjustment - core: subtract deposit gas from pool, so other txs do not use the same gas. And fail tx processing if deposits reach gas limit - core/types: deposits do not tip, avoid basefee subtraction - Unmeter the L1 Attributes Transaction - miner: handle force tx errors as critical, clean up diff - ci: Switch branch - eth,miner: return STATUS_INVALID when failing to process forced transactions in request (ref-op-geth PR 40) - verifier: forward tx to sequencer based on flag - txpool: add flag to disable tx gossip (ref-op-geth PR 42) - Add op-geth version in addition to geth version (ref-op-geth PR 43) - ci: CircleCI improvements (ref-op-geth PR 44) - Rename to op-geth - Build latest tag on optimism branch op-geth changes: - Expose cache config in simulated backend (bnb-chain#2) - Add EIP-1559 parameters - eth/catalyst: update payload id computation (bnb-chain#1) - make eip1559 configurable (bnb-chain#4) - post-merge network should not log warnings about missing transition information (bnb-chain#5) - Make the simulator more configurable (bnb-chain#6) - fix OPB-6 - IsDepositTx check instead of artificial nonce value check (bnb-chain#7) - Simulated backend - enable proof of stake consensus type and fix performance issue (bnb-chain#8) - accounts: simulated backend consensus engine option and immediate tx indexing - consensus/beacon: recognize all blocks as reached TTD with 0 TTD in chain config - Add --rollup.historicalhttp CLI flag and fix backend iface - Flags and interfaces for historical RPC requests (bnb-chain#12) - Redirect historical RPC requests (bnb-chain#13) - Use the pre-existing ethereum.NotFound error (bnb-chain#18) - Add historical endpoint to TraceBlockByNumber and TraceBlockByHash (bnb-chain#19) - Add historical endpoint to TraceTransaction (bnb-chain#20) - Add historical endpoint to TraceCall (bnb-chain#21) - optimism: fee params from info txi, update l1 cost func GPO params read (bnb-chain#15) - add hardcoded addresses for fee payouts (bnb-chain#23) - dynamic gas limit via engine API (bnb-chain#22) Co-authored-by: Matthew Slipper <me@matthewslipper.com> Co-authored-by: Joshua Gutow <jgutow@oplabs.co> Co-authored-by: protolambda <proto@protolambda.com> Co-authored-by: Mark Tyneway <mark.tyneway@gmail.com> Co-authored-by: Maurelian <maurelian@protonmail.ch>
galaio
pushed a commit
to galaio/bsc
that referenced
this pull request
Jul 31, 2024
* feat: reannounce local pending transactions * fix: headPeers method length calculation is incorrect
galaio
pushed a commit
to galaio/bsc
that referenced
this pull request
Jul 31, 2024
…b-chain#3) * ci: add docker release workflow to build and release docker image (bnb-chain#1) Co-authored-by: Welkin <welkin.b@nodereal.com> * try to use cache for docker build (bnb-chain#2) Co-authored-by: Welkin <welkin.b@nodereal.com> --------- Co-authored-by: Welkin <welkin.b@nodereal.com>
galaio
pushed a commit
to galaio/bsc
that referenced
this pull request
Aug 16, 2024
Fix an issue of incorrectly set the origin storage at parallel stateDB's GetState(). Remove this code because it is already solved by lightCopy PR: bnb-chain#2
alexgao001
pushed a commit
to alexgao001/bsc
that referenced
this pull request
Aug 28, 2024
…-root fix: withdrawal root and withdrawals list
allformless
referenced
this pull request
in allformless/bsc
Jul 17, 2025
This PR is #2 of a 3-part series that implements the new log index intended to replace core/bloombits. Based on ethereum/go-ethereum#31079 Replaces ethereum/go-ethereum#30370 This part replaces the old bloombits based log search logic in `eth/filters` to use the new `core/filtermaps` logic. FilterMaps data structure explanation: https://gist.github.com/zsfelfoldi/a60795f9da7ae6422f28c7a34e02a07e Log index generator code overview: https://gist.github.com/zsfelfoldi/97105dff0b1a4f5ed557924a24b9b9e7 Search pattern matcher code overview: https://gist.github.com/zsfelfoldi/5981735641c956afb18065e84f8aff34 Note that the possibility of a tree hashing scheme and remote proof protocol are mentioned in the documents above but they are not exactly specified yet. These specs are WIP and will be finalized after the local log indexer/filter code is finalized and merged. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
blackms
added a commit
to AIgen-Solutions-s-r-l/bsc
that referenced
this pull request
Nov 16, 2025
Added detailed section analyzing real BSC arbitrage transactions with examples, structure breakdown, and detection insights. New content: - Current monitoring status (0 detected in 14.5h) - Real arbitrage examples from BSC (~400/hour rate) - 3 example transactions analyzed with full details - Transaction structure diagrams (Mermaid) - Data tracking schema (JSON example) - Arbitrage types comparison table - Detection gap analysis - Expected vs actual detection rates Real examples found: - TX 0x15e01...32a1: 2 swaps, $300 profit, $0.01 gas - TX 0xacd220...51e76c: Similar pattern - TX 0xc80f8d...6f9132: Same block as bnb-chain#2 Key findings: - BSC has ~400 arbitrage transactions/hour - We detect 0 because: 1-2 min scan interval vs 8 sec frequency - MEV relays hide many transactions from mempool - Expected: 0-1 detection/hour (0 after 14.5h is normal) - Most are sandwich attacks or MEV bundles New scripts: - find_real_arbitrage_example.py: Scans blocks for multi-swap txs - analyze_arbitrage_tx.py: Detailed transaction analysis Diagrams added: - Detection status comparison - Transaction structure breakdown - Data tracking flow - Why we haven't detected yet (flowchart) - Expected detection rates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
annielz
pushed a commit
that referenced
this pull request
Dec 9, 2025
…ranch `MIR-interp`. (#2) The changes include reverting some optimizations, restoring deleted files. - **12 files changed**: 3445 insertions(+), 703 deletions(-) - **Net code addition**: ~2742 lines - Reverted `oprands` back to `operands` in MIR struct - Restored original field naming convention - Restored `core/opcodeCompiler/compiler/doOpcodesParse.go` (was deleted in MIR-interp-develop) - Restored `core/vm/runtime/mir_addmulreturn_simple_test.go` (was deleted in MIR-interp-develop) - Restored `diff.patch` (was deleted in MIR-interp-develop) - Restored `Length` field in `MIRPreOpContext` struct - Reverted various optimizations and cleanup changes - Restored original code structure from branch `d` The following commits from branch `d` are being applied: - `9a5ebd371` - code cleanup - `0b8892038` - remove logtxt - `94537c4c0` - bug fix for MIR testcases - `7d87eca97` - fix compiler ut - `c604b61e3` - code cleanup - `dc88c6d59` - fix test - `fa422cd31` - fix tests - `265211c0d` - fix MIR test - `f92407956` - rebase - `3d1376b42` - skip Nop at runtime - `17a117624` - Revert "remove nop at runtime" - `4b9b6dac1` - remove nop at runtime - `ae0132dec` - bug fix - `b596e5d58` - peephole - `e6b0ec687` - micro opt - `510c4a578` - optimize - `core/opcodeCompiler/compiler/MIR.go` - Field name reversion (operands) - `core/opcodeCompiler/compiler/MIRBasicBlock.go` - Code structure changes - `core/opcodeCompiler/compiler/MIRInterpreter.go` - Major changes (1216 lines) - `core/opcodeCompiler/compiler/opcodeParser.go` - Code structure changes - `core/opcodeCompiler/compiler/MemoryAccessor.go` - Restored/updated - `core/vm/mir_interpreter_adapter.go` - Code structure changes (1015 lines) - `core/vm/interpreter.go` - Updates - `core/vm/runtime/mir_parity_test.go` - Test updates - `core/vm/runtime/mir_real_bench_test.go` - Test updates - `core/opcodeCompiler/compiler/doOpcodesParse.go` - `core/vm/runtime/mir_addmulreturn_simple_test.go` - `diff.patch` All MIR-related tests are passing. - Total test runs: 78 - Passed: 38 - Failed: 0 - Overall runtime test suite: PASS 1. MIR vs EVM functional tests (5 tests): - `TestMIRVsEVM_AddMulReturn_Simple` — PASS - `TestMIRVsEVM_Functional` (4 sub-tests) — PASS - `TestAddMulReturn_BaseAndMIR` — PASS 2. MIR parity tests (3 tests): - `TestMIRParity_Tiny` — PASS - `TestUSDT_MIRVsEVM_Parity` — PASS - `TestMIRParity_USDT_Basic` — SKIP (requires env var) - `TestMIRParity_WBNB_Basic` — SKIP (requires env var) 3. MIR matches EVM tests (6 tests): - `TestMIRMatchesEVM_BinaryOps` — PASS - `TestMIRMatchesEVM_UnaryOps` — PASS - `TestMIRMatchesEVM_Byte` — PASS - `TestMIRMatchesEVM_StackOps` — PASS - `TestMIRMatchesEVM_MemoryOps` — PASS - `TestMIRMatchesEVM_CalldataSize` — PASS 4. Strict mode parity tests (20 tests): - USDT strict parity (8 functions) — PASS - WBNB strict parity (8 functions) — PASS - `TestUSDT_MIR_Strict_ListFailures` — PASS - `TestWBNB_MIR_Strict_ListFailures` — PASS - `TestUSDT_MIR_Strict_Debug_Allowance` — PASS - `TestUSDT_MIR_Strict_Debug_Approve` — PASS 5. Other MIR tests: - `TestCountUSDTMIR` — PASS - `TestDumpUSDTMIRAndEVM` — PASS - `TestUSDT_Transfer_EVMvsMIR` — PASS - `TestUSDT_Proxy_Call_Parity` — PASS - All MIR-related tests passing - No regressions detected - Strict mode tests passing - Parity tests passing - Functional tests passing | Operation | EVM (ns/op) | MIR (ns/op) | Difference | |-----------|-------------|-------------|------------| | AddMul | 426.1 | 455.4 | MIR 6.9% slower | | AddMulReturn | 505.4 | 1430 | MIR 183% slower | | Storage | 755.8 | 2141 | MIR 183% slower | | Keccak | 958.4 | 1530 | MIR 60% slower | | CalldataKeccak | 987.8 | 2162 | MIR 119% slower | Note: MIR has CFG construction overhead for very simple code. | Function | EVM (ns/op) | MIR (ns/op) | Speedup | |----------|-------------|-------------|---------| | name | 1805 | 1606 | 11% faster | | symbol | 1799 | 1616 | 10% faster | | decimals | 1791 | 1606 | 10% faster | | totalSupply | 1799 | 1620 | 10% faster | | balanceOf | 1779 | 1627 | 9% faster | | allowance | 1892 | 1610 | 15% faster | | approve | 1998 | 1610 | 19% faster | | transfer | 1773 | 1605 | 9% faster | | transferFrom | 1774 | 1625 | 8% faster | | Function | EVM (ns/op) | MIR (ns/op) | Speedup | |----------|-------------|-------------|---------| | name | 1941 | 1703 | 12% faster | | symbol | 2198 | 1707 | 22% faster | | decimals | 2097 | 1709 | 19% faster | | totalSupply | 2096 | 1699 | 19% faster | | balanceOf | 2210 | 1688 | 24% faster | | deposit | 2322 | 1698 | 27% faster | | withdraw | 2011 | 1687 | 16% faster | | transfer | 2219 | 1706 | 23% faster | - MIR: 1064-1661 B/op, 24-28 allocs/op - EVM: 271-1096 B/op, 7-26 allocs/op - MIR uses fewer allocations for complex operations (24 vs 25-26 allocs/op) 1. CFG overhead: MIR is slower for very simple code due to CFG construction cost. 2. Real contract advantage: MIR is 8-27% faster for real-world contracts. 3. Scalability: Performance advantage increases with contract complexity. 4. Memory efficiency: MIR uses fewer allocations for complex operations. MIR shows a clear performance advantage for production contracts: - USDT: ~11% faster on average - WBNB: ~23% faster on average - Best improvement: WBNB deposit (27% faster) The CFG construction overhead is amortized for complex contracts, making MIR suitable for production workloads.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.