Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e755ebd
initial structure for the section
web3jenks Apr 29, 2025
2f9ad68
final adjustments
web3jenks Apr 30, 2025
0b02198
Merge branch 'dev', remote-tracking branch 'origin' into jenks/add-to…
web3jenks Apr 30, 2025
8bd590a
fix to names and images
web3jenks May 2, 2025
2c533c5
shrunk sizes of the tiles
web3jenks May 6, 2025
bf853cf
more finessing
web3jenks May 7, 2025
f55a7a3
feat: add image zoom feature
May 16, 2025
edefde5
Daria/api spec split (#151)
dariaag May 19, 2025
3325cbe
Daria/api spec split (#174)
web3jenks May 20, 2025
a928888
fix: Switching the theme caused zoom to fail
May 20, 2025
4871bee
Update ToolsAndInfra.tsx
web3jenks May 20, 2025
8f15217
Merge branch 'jenks/add-tooling-and-infra-sections' into dev
web3jenks May 20, 2025
b6cdcc4
Merge branch 'kevin/image-zoom' into dev
web3jenks May 20, 2025
cd3a180
Daria/api spec split (#174)
web3jenks May 20, 2025
cec64c1
chore: update wallet status
May 23, 2025
e89f33c
feat: apply new color scheme (#184)
kkkk666 May 28, 2025
9313f35
fix: the bugs causing incomplete display & zoom of the logo.
May 28, 2025
09c9ce2
feat: baby staking via mintscan (#173)
kkkk666 Jun 2, 2025
328428b
feat: add blog section (#188)
kkkk666 Jun 2, 2025
b0c072c
Kevin/apply new colour scheme (#191)
kkkk666 Jun 3, 2025
4a62d24
feat: enhance remoteMD feature and align with crawler (#189)
kkkk666 Jun 3, 2025
ca805ab
Merge branch 'main' into dev
web3jenks Jun 3, 2025
093e364
Daria/api spec split (#174)
web3jenks May 20, 2025
6b408df
Kevin/enhance remotemd (#194)
kkkk666 Jun 4, 2025
50be639
fix: adjust style & format baby staking guide (#196)
kkkk666 Jun 5, 2025
89457d2
fix: replace optimism gadget repo link (#197)
kkkk666 Jun 9, 2025
f67a84c
updated cosmos & op stack chain .mdxs (#200)
web3jenks Jun 11, 2025
7243f99
chore: add genesis v2 upgrade audit report (#202)
kkkk666 Jun 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions blog/2025/06-02-2025-welcome.mdx/06-02-2025-welcome.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Babylon Dev Blogs
date: 2025-06-02
---

# Babylon Dev Blogs

Welcome to Babylon deveveloper blogs. This is where you can find the latest news and technical updates from the Babylon Labs team.
16 changes: 10 additions & 6 deletions docs/developers/bsns/cosmos_chains/cosmos_chains.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,13 @@ for example, X→ Y means "Y queries data from X and the data flows from X to Y"
dark: useBaseUrl('/img/cosmos-integration.png'),
}}
/>
<br />

The design involves the following main components:

- **Finality Provider:** a daemon program that receives BTC stake and keeps submitting
finality signatures over blocks to the BSN chain.
### Finality Provider

A daemon program that receives BTC stake and keeps submitting finality signatures over blocks to the BSN chain.
- It connects to a BSN chain node to query block metadata.
- It connects to the Babylon contracts on the BSN chain for querying voting
power and submitting finality signatures.
Expand All @@ -38,8 +40,9 @@ Upon a new block in the BSN chain, it:
voting power at this height.
- If yes, sign and submit a finality signature to the Babylon contracts.

- **Babylon Contracts:** a set of CosmWasm smart contracts that maintains IBC channels
with Babylon and handles finality signatures submitted from Finality Providers
### Babylon Contracts

A set of CosmWasm smart contracts that maintains IBC channels with Babylon and handles finality signatures submitted from Finality Providers
- It will be deployed on the BSN chain.
- It establishes an IBC channel with Babylon. The IBC channel relays information
about BTC light clients, BTC timestamps and BTC staking.
Expand All @@ -53,8 +56,9 @@ Upon a finality signature, the Babylon contracts verify it:
packet to Babylon. Then Babylon emits an event so anyone can slash the Finality
Provider and the BTC stake under it.

- **Babylon-SDK:** a small Cosmos SDK module serving as a thin layer between Babylon
contracts and Cosmos SDK level of the BSN chain.
### Babylon-SDK

A small Cosmos SDK module serving as a thin layer between Babylon contracts and Cosmos SDK level of the BSN chain.
- It sends a sudo message to the Babylon contracts upon each `BeginBlock` , so that
Babylon contracts can update voting power table and tally blocks.
- It moves a part of the reward from the fee collector account to Babylon contracts,
Expand Down
27 changes: 19 additions & 8 deletions docs/developers/bsns/op_stack_chains/op_stack_chains.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ The design involves the following main components:
light: useBaseUrl('/img/op-stack-integration.png'),
dark: useBaseUrl('/img/op-stack-integration.png'),
}}
/>;
/>
<br />

- **Finality Provider:** a daemon program that receives BTC stake and keeps
submitting finality signatures over L2 blocks to the finality contract on Babylon.
### Finality Provider

A daemon program that receives BTC stake and keeps submitting finality signatures over L2 blocks to the finality contract on Babylon.
- It connects to a Babylon node to query its voting power.
- It connects to the finality contract via the Babylon node for submitting
finality signatures.
Expand All @@ -35,7 +37,10 @@ Upon a new L2 block in the OP-stack chain, It:
- Gets the L2 block metadata.
- Queries Babylon Genesis to determine whether it has voting power at this L2 block height.
- If yes, sign and submit a finality signature to the finality contract.
- **Finality contract:** a CosmWasm smart contract that maintains all finality signatures submitted from OP-stack Finality Providers.

### Finality Contract

A CosmWasm smart contract that maintains all finality signatures submitted from OP-stack Finality Providers.
- It will be deployed on Babylon Genesis.
- It will query Babylon Genesis to determine the Finality Provider’s status and voting power.

Expand All @@ -44,7 +49,10 @@ Upon a finality signature, the finality contract verifies it and identifies equi
- If invalid, reject.
- If valid and non-conflicting with any existing ones, accept.
- If valid but conflicting with an existing finality signature, it emits an event so anyone can slash the Finality Provider and the BTC stake under it.
- **Finality gadget**: a daemon program that keeps tallying all finality signatures for L2 blocks and serves RPC to allow querying the BTC-voting quorum of those blocks.

### Finality Gadget

A daemon program that keeps tallying all finality signatures for L2 blocks and serves RPC to allow querying the BTC-voting quorum of those blocks.
- It connects to a Babylon node for querying the voting power of Finality Providers.
- It connects to the finality contract via the Babylon node for querying finality signatures.
- It connects to an RPC of the OP stack chain to get L2 block metadata.
Expand All @@ -55,7 +63,10 @@ Upon a new L2 block in the OP-stack chain, it:
- Queries Babylon to get all Finality Providers’ BTC delegations for this chain and use the L2 block’s timestamp to determine the voting power distribution among all its Finality Providers at the time of this block.
- Tallies finality signatures and determines whether the L2 block receives a quorum.
- If this L2 block receives a quorum and its parent block is also BTC staking-finalized, marks it as BTC staking-finalized and stores it in the finality gadget’s local database.
- **OP node with finality gadget:** a modified OP node that enforces BTC-voting quorum before finalizing L2 blocks.

### OP Node with Finality Gadget

A modified OP node that enforces BTC-voting quorum before finalizing L2 blocks.
- It connects to the finality gadget for querying consecutive BTC-voting quorums to determine the finalization status of the L2 blocks.
- It notifies OP-geth about the L2 blocks’ finalization status to move the L2 finalized block head.

Expand All @@ -74,13 +85,13 @@ We have finished the reference implementation. The codebases include:
- [btc-staker](https://github.com/babylonlabs-io/btc-staker/tree/base/consumer-chain-support): The BTC Staker program
- [babylon-contract](https://github.com/babylonlabs-io/babylon-contract): The CosmWasm contracts, including the finality contract for OP-stack chains.
- [finality-gadget](https://github.com/babylonlabs-io/finality-gadget): The finality gadget program. It can be used by OP node or user as an SDK or run as a standalone daemon program.
- [optimism](https://github.com/babylonlabs-io/optimism/tree/feat/babylon-rfc): The fork of OP Stack codebase that installs finality-gadget.
- [optimism](https://github.com/babylonlabs-io/op-finality-gadget): The fork of OP Stack codebase that installs finality-gadget.

## Local deployments

We have developed local deployment scripts for the OP stack integration.

- https://github.com/Snapchain/babylon-deployment for spinning up an OP stack chain integrating with Babylon Euphrates devnet
- https://github.com/Snapchain/op-chain-deployment for spinning up the entire stack (OP stack chain + ETH L1 + Babylon + Bitcoin)
- https://github.com/Snapchain/op-chain-deployment for spinning up the entire stack (OP stack chain + ETH L1 + Babylon Genesis + Bitcoin)

---
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/btccheckpoint/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/btclightclient/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/btcstaking/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/checkpointing/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/epoching/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/finality/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/btcstaking/docs/btc-reorg.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/finality-provider/refs/heads/main/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,7 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon-contract/refs/heads/main/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={true}
rawUrl={rawUrl}
hideRelease={false}
/>

Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ import RemoteMD from '@site/src/components/RemoteMD';
export const rawUrl="https://raw.githubusercontent.com/babylonlabs-io/babylon/refs/heads/main/x/zoneconcierge/README.md";

<RemoteMD
networkVersions={{
mainnet: rawUrl
}}
hideEnv={false}
rawUrl={rawUrl}
hideRelease={true}
/>
2 changes: 1 addition & 1 deletion docs/guides/baby_stakers/baby_staking_cli.mdx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
sidebar_class_name: baby_staking_cli_sidebar
sidebar_position: 4
sidebar_position: 5
---

# BABY Staking CLI Guide
Expand Down
2 changes: 1 addition & 1 deletion docs/guides/baby_stakers/baby_staking_integration.mdx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: BABY Staking Integration
sidebar_label: BABY Staking Integration
sidebar_position: 4
sidebar_position: 6
---

# BABY Staking Integration
Expand Down
Loading