From 424910f8a7e945fde1e813d29be692431d5e71d2 Mon Sep 17 00:00:00 2001 From: grepsuzette Date: Sun, 1 Sep 2024 12:58:58 +0800 Subject: [PATCH 1/6] docs(portal-loop): mention packages can be deployed permissionlessly --- docs/concepts/portal-loop.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index d96738bdddf..3d50c728e34 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -67,3 +67,18 @@ has some drawbacks: Gno will fail to be replayed, meaning **data will be lost**. - Since transactions are archived and replayed during genesis, block height & timestamp cannot be relied upon. + +### Permissionless deployments to Portal Loop + +Packages are read from the `./examples` folder. However note the following: + +1. You **can** permissionlessly deploy packages to Portal Loop. +2. One reason to do this is to experiment with the chain or simple to allow + people to test a demo of your realms before the PR gets approved and it + gets merged to the monorepo. +3. Once commited to the `master` branch, a package will supersede any + previously permissionlessly deployed package with the same `pkgpath`. This + is because packages in `./examples` get added before the transactions are + replayed, making any subsequent `addpkg` transaction with the same path + rejected. + From dab46aaaf240fba1196656bab41fec14974b3b46 Mon Sep 17 00:00:00 2001 From: grepsuzette <350354+grepsuzette@users.noreply.github.com> Date: Sun, 1 Sep 2024 13:56:21 +0800 Subject: [PATCH 2/6] Update portal-loop.md --- docs/concepts/portal-loop.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index 3d50c728e34..10293568fa2 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -76,9 +76,6 @@ Packages are read from the `./examples` folder. However note the following: 2. One reason to do this is to experiment with the chain or simple to allow people to test a demo of your realms before the PR gets approved and it gets merged to the monorepo. -3. Once commited to the `master` branch, a package will supersede any - previously permissionlessly deployed package with the same `pkgpath`. This - is because packages in `./examples` get added before the transactions are - replayed, making any subsequent `addpkg` transaction with the same path - rejected. +3. Once committed to the `master` branch, a package will supersede any + previously permissionlessly deployed package with the same `pkgpath`. From eb77088889e737cad6b32df8a2cfd876ce75b3ab Mon Sep 17 00:00:00 2001 From: grepsuzette Date: Mon, 2 Sep 2024 19:43:25 +0800 Subject: [PATCH 3/6] improve text --- docs/concepts/portal-loop.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index 10293568fa2..22383485518 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -68,14 +68,22 @@ Gno will fail to be replayed, meaning **data will be lost**. - Since transactions are archived and replayed during genesis, block height & timestamp cannot be relied upon. -### Permissionless deployments to Portal Loop +### Deploying to the Portal Loop -Packages are read from the `./examples` folder. However note the following: +There are two kind of deployements to Portal Loop: -1. You **can** permissionlessly deploy packages to Portal Loop. -2. One reason to do this is to experiment with the chain or simple to allow - people to test a demo of your realms before the PR gets approved and it - gets merged to the monorepo. -3. Once committed to the `master` branch, a package will supersede any - previously permissionlessly deployed package with the same `pkgpath`. +1. *automatic* - all packages in `examples/gno.land/{p,r}/` get added to the + new genesis each cycle, +2. *permissionless* - this includes replayed transactions with `addpkg`, and + new transactions you can issue with `gnokey maketx addpkg`. + * One possible reason for permissionless deployment is to test your realm on + Portal Loop before the associated PR gets merged to `examples`. + +Since the packages in `examples/gno.land/{p,r}` are deployed first, and only +then the recorded transactions get replayed on top, permissionless deployements +are active only until a package with the same `pkgpath` gets merged onto +`master`. + +Note that the above mechanism is also how the `examples/` on the Portal Loop +get collaboratively iterated upon, which is its core purpose. From 42780bbeb44427034e3f90f2a913e8647564e641 Mon Sep 17 00:00:00 2001 From: grepsuzette Date: Mon, 2 Sep 2024 19:54:18 +0800 Subject: [PATCH 4/6] improve text --- docs/concepts/portal-loop.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index 22383485518..51be4d02df2 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -70,20 +70,17 @@ block height & timestamp cannot be relied upon. ### Deploying to the Portal Loop -There are two kind of deployements to Portal Loop: +There are two kinds of deployements to Portal Loop: 1. *automatic* - all packages in `examples/gno.land/{p,r}/` get added to the new genesis each cycle, 2. *permissionless* - this includes replayed transactions with `addpkg`, and new transactions you can issue with `gnokey maketx addpkg`. - * One possible reason for permissionless deployment is to test your realm on - Portal Loop before the associated PR gets merged to `examples`. -Since the packages in `examples/gno.land/{p,r}` are deployed first, and only -then the recorded transactions get replayed on top, permissionless deployements -are active only until a package with the same `pkgpath` gets merged onto -`master`. +Since the packages in `examples/gno.land/{p,r}` are deployed first, +permissionless deployments get superseded when packages with identical `pkgpath` +get merged into `examples/`. -Note that the above mechanism is also how the `examples/` on the Portal Loop -get collaboratively iterated upon, which is its core purpose. +The above mechanism is also how the `examples/` on the Portal Loop +get collaboratively iterated upon, which is its main mission. From c8110604520e8f752e105242f943f5c1f3b1b4c4 Mon Sep 17 00:00:00 2001 From: Leon Hudak <33522493+leohhhn@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:06:02 +0200 Subject: [PATCH 5/6] Update docs/concepts/portal-loop.md --- docs/concepts/portal-loop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index 51be4d02df2..a6a6bceaf4a 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -70,7 +70,7 @@ block height & timestamp cannot be relied upon. ### Deploying to the Portal Loop -There are two kinds of deployements to Portal Loop: +There are two ways to deploy code to the Portal Loop: 1. *automatic* - all packages in `examples/gno.land/{p,r}/` get added to the new genesis each cycle, From 4ff07ea7c11cbd579dded78c7466d4d14ac510d9 Mon Sep 17 00:00:00 2001 From: Leon Hudak <33522493+leohhhn@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:06:08 +0200 Subject: [PATCH 6/6] Update docs/concepts/portal-loop.md --- docs/concepts/portal-loop.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index a6a6bceaf4a..adc341e3ae4 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -72,7 +72,7 @@ block height & timestamp cannot be relied upon. There are two ways to deploy code to the Portal Loop: -1. *automatic* - all packages in `examples/gno.land/{p,r}/` get added to the +1. *automatic* - all packages in found in the `examples/gno.land/{p,r}/` directory in the [Gno monorepo](https://github.com/gnolang/gno) get added to the new genesis each cycle, 2. *permissionless* - this includes replayed transactions with `addpkg`, and new transactions you can issue with `gnokey maketx addpkg`.