Greet
Greet forwards to the live implementation.
Command
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.Greet()"
Result
Package facade is the permanent entry point of the "self-registering implementation" upgrade pattern (pattern E of the exploration; see ../../README.md).
The path callers import never changes and holds no business logic: it holds an interface value. A new implementation realm takes over simply by being deployed, because it registers itself from its own init. Nobody has to send a transaction to switch, which is the pattern's whole appeal and also its whole risk: whoever can deploy under the guarded prefix can take the realm.
Greet forwards to the live implementation.
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.Greet()"
Live is the package path currently serving, or "" before the first deploy.
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.Live()"
Register makes the calling realm the live implementation. Called from the implementation's own init, so deploying IS the upgrade.
# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.
gnokey maketx call -pkgpath "gno.land/r/moul/x/upgrade/selfreg/facade/v0" -func "Register" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/moul/x/upgrade/selfreg/facade/v0" -func "Register" -args $'' -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.Render()"
Seal ends this realm's upgradeability, forever. Callable only by the implementation currently serving, because with no owner that is the only actor the facade already trusts. It grants nothing new: whoever could deploy under the prefix could already take the realm over, and this only lets them make that the last word.
One-way, and there is no rung above it.
# WARNING: This command is running in an INSECURE mode.
# It is strongly recommended to use a hardware device for signing
# and avoid trusting any computer connected to the internet,
# as your private keys could be exposed.
gnokey maketx call -pkgpath "gno.land/r/moul/x/upgrade/selfreg/facade/v0" -func "Seal" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -chainid "gnoland-1" -remote "https://rpc.gno.land" ADDRESSgnokey query -remote "https://rpc.gno.land" auth/accounts/ADDRESS
gnokey maketx call -pkgpath "gno.land/r/moul/x/upgrade/selfreg/facade/v0" -func "Seal" -gas-fee 1000000ugnot -gas-wanted 1_000_000_000 -send "" -broadcast=false ADDRESS > call.tx
gnokey sign -tx-path call.tx -chainid "gnoland-1" -account-number ACCOUNTNUMBER -account-sequence SEQUENCENUMBER ADDRESS
gnokey broadcast -remote "https://rpc.gno.land" call.tx
Stage is the rung this realm is on. It only ever goes up.
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.Stage()"
StageName is Stage as the word a caller reads in Render.
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.StageName()"
Version reports the live implementation's own version string.
gnokey query vm/qeval -remote "https://rpc.gno.land" -data "gno.land/r/moul/x/upgrade/selfreg/facade/v0.Version()"