@@ -9,17 +9,24 @@ reports misbehavior for slashing. This is the core and only
9
9
contract that a rollup deploys to become a BSN. The contract must be deployed
10
10
on Babylon Genesis as it relies on direct interaction with it.
11
11
12
- ## Governance Notes
13
- <img width =" 3100 " height =" 772 " alt =" governance " src =" ./assets/governance.png " />
12
+ ## Overview
13
+
14
+ The BSN deployment process consists of four main steps:
14
15
16
+ 1 . ** Upload Contract Code** : Upload the compiled WASM bytecode to Babylon Genesis to obtain a code ID
17
+ 2 . ** Instantiate Contract** : Create a contract instance using the code ID with your specific BSN configuration
18
+ 3 . ** Register BSN** : Register your BSN with Babylon using the contract address to enable finality provider participation
19
+ 4 . ** Maintain Contract** : Ongoing contract management and operational tasks as needed
15
20
21
+ ## Governance Notes
22
+ <img width =" 3100 " height =" 772 " alt =" governance " src =" ./assets/governance.png " />
16
23
17
24
Depending on the Babylon Genesis network (e.g., testnet, mainnet) you
18
25
choose for the deployment of the rollup BSN, the network might be permissioned:
19
- * ** Permissioned CosmWasm** : Requires governane approval for deploying a smart
26
+ * ** Permissioned CosmWasm** : Requires governance approval for deploying a smart
20
27
contract. This can be granted in two ways:
21
28
* ` MsgStoreCode ` proposal: Upload a contract code. Preferred for one-time deployments
22
- * ` MsgUpdateParams ` proposal: Add a Babylon Genesis address in an allow-list
29
+ * ` MsgAddCodeUploadParamsAddresses ` proposal: Add a Babylon Genesis address in an allow-list
23
30
for which its members can permissionlessly upload code. This is typically
24
31
used for contracts requiring periodic maintenance.
25
32
> To learn more about permissioned CosmWasm,
@@ -54,6 +61,8 @@ INSTANT_MSG=$(cat <<EOF
54
61
{
55
62
"admin": "$ADMIN_ADDRESS ",
56
63
"bsn_id": "$BSN_ID ",
64
+ "bsn_activation_height": $BSN_ACTIVATION_HEIGHT ,
65
+ "finality_signature_interval": $FINALITY_SIGNATURE_INTERVAL ,
57
66
"max_msgs_per_interval": $MAX_MSGS_PER_INTERVAL ,
58
67
"min_pub_rand": $MIN_PUB_RAND ,
59
68
"rate_limiting_interval": $RATE_LIMITING_INTERVAL ,
@@ -70,6 +79,11 @@ The parameters:
70
79
* ` bsn_id ` : The unique identifier for the BSN rollup
71
80
Ensure that this is unique and not already used by another BSN on Babylon
72
81
Genesis as this will affect your registration
82
+ * ` bsn_activation_height ` : The rollup block height at which the BSN system becomes active.
83
+ Finality signatures submitted for blocks before this height will be rejected
84
+ * ` finality_signature_interval ` : The number of blocks between allowed finality signature submissions,
85
+ starting from the activation height. Only block heights where
86
+ ` (current_height - bsn_activation_height) % finality_signature_interval == 0 ` are valid for submission
73
87
* ` min_pub_rand ` : Minimum public randomness values included per public
74
88
randomness commit by finality providers
75
89
* ` rate_limiting_interval ` : Length (in blocks) of the interval for
@@ -86,7 +100,7 @@ those here -->
86
100
<img width =" 3032 " height =" 287 " alt =" register " src =" ./assets/register.png " />
87
101
88
102
After deploying and instantiating the Rollup BSN contract, the
89
- rollup must register on Babylon Genesis. Registration requires
103
+ rollup must register on Babylon Genesis. Registration as a BSN requires
90
104
submitting metadata to identify and describe the BSN
91
105
92
106
To register the BSN, use:
@@ -95,7 +109,6 @@ babylond tx btcstkconsumer register-consumer \
95
109
< consumer_id> \
96
110
< consumer_name> \
97
111
< consumer_ description> \
98
- < max_multi_staked_fps> \
99
112
< rollup_finality_contract_address>
100
113
```
101
114
@@ -104,8 +117,6 @@ Required metadata for BSN registration:
104
117
instantiation)
105
118
* ` consumer_name ` : Human-readable name of your rollup BSN (e.g., ` "DeFi Rollup Chain" ` )
106
119
* ` consumer_description ` : Brief description of the rollup BSN's purpose
107
- * ` max_multi_staked_fps ` : Maximum number of rollup FPs per BTC delegation. Prevents delegators from splitting
108
- their BTC across too many networks (recommended: ` 3-5 ` )
109
120
* ` rollup_finality_contract_address ` : Babylon Genesis address of the deployed Rollup BSN contract (` bbn1... ` format)
110
121
111
122
> ** Governance Note** : The above operation can only be executed by governance
0 commit comments