You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/sovereign/distributed-setup.md
+5-10Lines changed: 5 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,24 +4,20 @@
4
4
5
5
This guide will help you deploy a public Sovereign Chain with real validators, enabling a truly decentralized setup. At its core, blockchain technology—and Sovereign Chains in particular—are designed to operate in a decentralized manner, powered by multiple independent validators. This ensures transparency, security, and resilience, as no single entity has control over the entire system. Unlike other guides we’ve provided, which focus on local setups, this solution emphasizes decentralization by involving multiple stakeholders in the validation process. By following the steps below, the owner can create the Sovereign Chain configuration for the network:
6
6
7
-
### Step 1: Get the ```mx-chain-go``` Repository
7
+
### Step 1: Get the `mx-chain-sovereign-go` Repository
8
8
9
9
Before proceeding, ensure that a **SSH key** for GitHub is configured on your machine.
2. Checkout the specific Sovereign Chain SDK branch and navigate to testnet directory:
16
+
2. Navigate to testnet directory:
17
17
```bash
18
-
cd mx-chain-go && git fetch && git checkout d699ffd &&cdscripts/testnet
18
+
cd mx-chain-sovereign-go/scripts/testnet
19
19
```
20
20
21
-
:::info
22
-
`d699ffd` is the commit hash we recommend to be used. If you want to use the latest version you can use the branch `feat/chain-go-sdk`.
23
-
:::
24
-
25
21
### Step 2: Seeder Build
26
22
27
23
Build and run the seed node
@@ -81,7 +77,6 @@ _Note: Files marked with * will be discussed later in the document._
81
77
82
78
Sovereign configs can be found in `cmd/sovereignnode/config`
83
79
```
84
-
economics.toml
85
80
enableEpochs.toml
86
81
prefs.toml
87
82
sovereignConfig.toml
@@ -197,7 +192,7 @@ Each validator should have:
197
192
### Sovereign validator/observer node start
198
193
199
194
The following commands will start the sovereign validator node with the configuration from **config** folder and with the **validatorKey** (or multi key from **allValidatorsKey**).
200
-
Adjust the flags as needed. You can find all the available flags in `/mx-chain-go/cmd/sovereignnode/flags.go`
195
+
Adjust the flags as needed. You can find all the available flags in `/mx-chain-sovereign-go/cmd/sovereignnode/flags.go`
Copy file name to clipboardExpand all lines: docs/sovereign/local-setup.md
+18-13Lines changed: 18 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,24 +4,20 @@
4
4
5
5
This guide will help you deploy a full sovereign local network connected to MultiversX network. This includes all the smart contracts and dependent services needed. Follow these steps carefully to ensure a successful deployment.
6
6
7
-
### Step 1: Get the `mx-chain-go` Repository
7
+
### Step 1: Get the `mx-chain-sovereign-go` Repository
8
8
9
9
Before proceeding, ensure that a **SSH key** for GitHub is configured on your machine.
2. Checkout the specific Sovereign Chain SDK branch and navigate to testnet directory:
16
+
2. Navigate to testnet directory:
17
17
```bash
18
-
cd mx-chain-go && git fetch && git checkout d699ffd6a29513c573b1d212861f932e037d8f67 &&cdscripts/testnet
18
+
cd mx-chain-sovereign-go/scripts/testnet
19
19
```
20
20
21
-
:::info
22
-
`d699ffd6a29513c573b1d212861f932e037d8f67` is the commit hash we recommend to be used. If you want to use the latest version you can use the branch `feat/chain-go-sdk`.
23
-
:::
24
-
25
21
3. Run the prerequisites script:
26
22
```bash
27
23
./prerequisites.sh
@@ -30,8 +26,8 @@ Before proceeding, ensure that a **SSH key** for GitHub is configured on your ma
30
26
:::info
31
27
The prerequisites script verifies and downloads the necessary packages to run the nodes and clones the required repositories:
32
28
33
-
- **mx-chain-deploy-go**: Initializes the configuration for the chain and deployment parameters.
34
-
- **mx-chain-proxy-go**: Repository for the proxy.
29
+
- **mx-chain-deploy-sovereign-go**: Initializes the configuration for the chain and deployment parameters.
30
+
- **mx-chain-proxy-sovereign-go**: Repository for the sovereign proxy.
35
31
- **mx-chain-sovereign-bridge-go**: Repository for the cross-chain service.
36
32
- **mx-chain-tools-go**: Repository for updating elastic indices.
- **SOVEREIGN_DIRECTORY, TXS_OUTFILE_DIRECTORY, CONTRACTS_DIRECTORY** - represent the paths to the location where the deployment scripts will generate the outputs.
83
84
- **WALLET** - should represent the wallet generated at Step 2.2.
85
+
- **MAIN_CHAIN_ELASTIC** - represents the elasticsearch db from the main chain
84
86
- **PROXY** - in this case, for the purpose of the test, the used proxy is the testnet one. Of course that the proper proxy should be used when deploying your own set of contracts depending on the development phase of your project.
85
87
- **CHAIN_ID** - should represent the chain ID of the chain where the contracts are to be deployed.
86
88
- **"1"**for Mainnet;
87
89
- **"D"**for Devnet;
88
90
- **"T"**for Testnet;
89
91
- or use you own local network ID
92
+
- **NATIVE_ESDT_TICKER** - represents the ticker from which the native esdt will be generated, and updated in configs
93
+
- **NATIVE_ESDT_NAME** - represents the native esdt name
90
94
:::
91
95
92
96
5. Source the script:
@@ -96,13 +100,14 @@ cd sovereignBridge
96
100
97
101
6. Deploy all cross-chain contracts on main chain and deploy Sovereign Chain with all required services:
The **SCProcessor** from `mx-chain-go` prepares the input information for these functions. We aim to avoid modifying the **SCProcessor** itself; instead, all necessary abstractions will be implemented at the EVM level.
16
+
The **SCProcessor** from `mx-chain-sovereign-go` prepares the input information for these functions. We aim to avoid modifying the **SCProcessor** itself; instead, all necessary abstractions will be implemented at the EVM level.
17
17
18
18
## 2. Input Preparation: EVMInputCreator
19
19
@@ -35,7 +35,7 @@ To allow the EVM to function within MultiversX, we introduce a layer that bridge
35
35
36
36
### 3.2 Finalizing State Changes
37
37
38
-
After EVM execution finishes, we need to commit the resulting state changes to the blockchain. The EVM will use the `outputContext` component, which (together with the `storageContext`) tracks modified accounts and storages. It also creates the final `vmOutput`, which the `scProcessor` in `mx-chain-go` will then validate and apply to the blockchain (the trie) if everything is correct.
38
+
After EVM execution finishes, we need to commit the resulting state changes to the blockchain. The EVM will use the `outputContext` component, which (together with the `storageContext`) tracks modified accounts and storages. It also creates the final `vmOutput`, which the `scProcessor` in `mx-chain-sovereign-go` will then validate and apply to the blockchain (the trie) if everything is correct.
0 commit comments