PathrockNetwork Gno Explorer
HomeBlocksTransactionsTokensRealmsPackagesValidatorsAnalytics

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/g19t6f4f4ptt3m949jznalfsx2h8aj696llul0nj/million/v0

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
v0
Namespace
g19t6f4f4ptt3m949jznalfsx2h8aj696llul0nj / million
Files
4 (README)(gnomod.toml)
Exported functions
20
Module
gno.land/r/g19t6f4f4ptt3m949jznalfsx2h8aj696llul0nj/million/v0
gno
0.9

Files (4)

  • README.mdmarkdown
  • gnomod.tomltoml
  • million.gnogno
  • million_test.gnogno
README.mdPreviewRaw
# million

Realm `gno.land/r/g19t6f4f4ptt3m949jznalfsx2h8aj696llul0nj/million/v0`: a 1250 x 800 (one million pixels, 16:10) pay-per-pixel canvas
built on `gno.land/p/g19t6f4f4ptt3m949jznalfsx2h8aj696llul0nj/canvas/v0`.

Paint from the CLI:

```sh
gnokey maketx call -pkgpath gno.land/r/g19t6f4f4ptt3m949jznalfsx2h8aj696llul0nj/million/v0 -func PaintBatch \
  -args "10,10,6;11,10,6" -send 100000ugnot \
  -gas-fee 1000000ugnot -gas-wanted 5000000 -broadcast -chainid dev -remote 127.0.0.1:26657 <key>
```

The amount sent must equal `Price()` times the number of pixels, and the
call must come directly from a user transaction. Payments are forwarded to
the admin wallet (`Owner()`) as they arrive; the admin paints for free and
can `SetPrice`, `SetMaxBatch`, `Withdraw` and `TransferOwnership` (all params are owner-settable at runtime). Read functions used by clients:
`GetWidth`, `GetHeight`, `Price`, `Palette`, `MaxBatchSize`, `Painted`,
`Pixel(x, y)`, `Rows(from, to)`, `Version()`, `DirtyRows(since)`.

`Version()` counts successful paint calls and `DirtyRows(since)` lists the
rows touched after that version, so clients fetch only what changed.

Functions

  • DirtyRows(since int64) string

  • GetHeight() int

  • GetWidth() int

  • MaxBatchSize() int

  • Owner() string

  • Paint(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, x int, y int, color int)

  • PaintBatch(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, pixels string)

  • Painted() int

  • Paints() int64

  • Palette() string

  • Pixel(x int, y int) int

  • Price() int64

  • Render(string) string

  • Revenue() int64

  • Rows(from int, to int) string

  • SetMaxBatch(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, n int)

  • SetPrice(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, ugnot int64)

  • TransferOwnership(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, newOwner string)

  • Version() int64

  • Withdraw(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, to string, amount int64)

Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

Rendered

RenderedRawgnoweb ↗

vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.