github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/docs/concepts/portal-loop.md (about) 1 --- 2 id: portal-loop 3 --- 4 5 # Portal Loop 6 7 Portal Loop is an always-up-to-date staging testnet that allows for using 8 the latest version of Gno, Gno.land, and TM2. By utilizing the power of Docker 9 & the [tx-archive](https://github.com/gnolang/tx-archive) tool, the Portal Loop can run the latest code from the 10 master branch on the [Gno monorepo](https://github.com/gnolang/gno), 11 while preserving most/all of the previous transaction data. 12 13 The Portal Loop allows for quick iteration on the latest version of Gno - without 14 having to make a hard/soft fork. 15 16 Below is a diagram demonstrating how the Portal Loop works: 17 ``` 18 +----------------------------------+ 19 | Portal Loop running | < ----+ 20 +----------------------------------+ | 21 | | 22 | | 23 v | 24 +----------------------------------+ | 25 | Detect changes in 'master' | | 26 +----------------------------------+ | 27 | | 28 | | 29 v | 30 +----------------------------------+ | 31 | Archive transaction data & state | | 32 +----------------------------------+ | 33 | | 34 | | 35 v | 36 +----------------------------------+ | 37 | Load changes from 'master' | | 38 +----------------------------------+ | 39 | | 40 | | 41 v | 42 +----------------------------------+ | 43 | Replay transaction data | ------+ 44 +----------------------------------+ 45 ``` 46 47 Specifically, Portal Loop behaves like a normal network until a change is detected 48 in the `master` branch in the Gno monorepo. At this point, Portal Loop archives 49 on-chain data using the [tx-archive](https://github.com/gnolang/tx-archive) 50 tool, saving all transactions that happened on it thus far. 51 52 It then pulls the latest changes from the `master` branch, and inserts all 53 previously archived transactions into the genesis of the newly deployed chain. 54 After genesis has been replayed, the chain continues working as normal. 55 56 ## Using the Portal Loop 57 58 The Portal Loop deployment can be found at [gno.land](https://gno.land), while 59 the exposed RPC endpoints can be found on `https://rpc.gno.land:443`. The RPC endpoint 60 list can be found in the [reference section](../reference/rpc-endpoints.md). 61 62 ### A warning note 63 64 While allowing for quick iteration on the most up-to-date software, the Portal Loop 65 has some drawbacks: 66 - If a breaking change happens on `master`, transactions that used the previous version of 67 Gno will fail to be replayed, meaning **data will be lost**. 68 - Since transactions are archived and replayed during genesis, 69 block height & timestamp cannot be relied upon.