Select a file to view its exact on-chain source. Sorted README → gnomod → sources → tests.
Admin() string
ClearNotice(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})
Markdown(addr string, size int, transparent bool) string
Render(path string) string
SetNotice(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}, alertType string, msg string)
SVG(addr string, size int, transparent bool) string
TransferAdmin(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}, newAdmin string)
URI(addr string, size int, transparent bool) string
Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.
# Settler avatars
This realm draws a Settler as a picture give an address.
It doesn't own the Settler, or store anything about it, it just looks one up and draws it, fresh, every time it's asked. That's on purpose, keeping the drawing separate from the main collection means any other realm or web app on Gno.land, a forum, a leaderboard, a profile page, can show a Settler next to an address without needing to understand pixel art, traits, or how any of it's put together.
The [Settlers nft](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft) realm is still the one that actually mints the Settlers and keeps track of who owns what.
Realm paths:
| Path | Description |
| --- | --- |
| `svg/{address}` | The SVG of the Settler of an address. |
| `md/{address}` | The Markdown that Markdown returns for an address, rendered, with the same parameters. |
## From a realm
Call it directly from another realm, for example to show a Settler next to an address in your own `Render` function:
```go
import "gno.land/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/avatar"
func RenderUser(addr address) string {
return avatar.Markdown(addr, 32, true) + " " + addr.String()
}
```
| Function | Description |
| --- | --- |
| Markdown(addr, size, transparent) | The image, or an empty text if there is none |
| SVG(addr, size, transparent) | The SVG document, or an empty text if there is none |
| URI(addr, size, transparent) | The same image as a data URI |
The size is in pixels, from 32 to 2048, and 0 leaves it to the container. With transparent the image has no background. Every call draws the image again and costs gas (about 6 to 8 million), so use it in `Render` and not in a transaction.
## From a web app
Ask the node for the page of an address, with `vm/qrender`, and use what it returns as an image: `/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/avatar:svg/{address}?size=64&transparent=1`. It is empty if the address has no Settler.
With gnokey, from a terminal, save it straight to a file:
```sh
gnokey query vm/qrender \
-remote <remote> \
-data "gno.land/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/avatar:svg/{address}?size=256" \
| tail -n +2 | sed '1s/^data: //' > settler.svg
```
## Last Settlers
| | |
| --- | --- |
|  | [g1a5l9gzm2d5zqjnmujs0mnallrpjysp42wz8zxg](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft:token/32) |
| | |
| --- | --- |
|  | [g1u4msn6a7tnnes6yynnfm9evceeqsxec0u64t36](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft:token/31) |
| | |
| --- | --- |
|  | [g12l0ns2c834uuq4q7wh4yh748sel8fgamsvnhv5](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft:token/30) |
| | |
| --- | --- |
|  | [g1ycwf4ncrxzj8vynv8ejqvfx4mfy962phhsqq82](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft:token/29) |
| | |
| --- | --- |
|  | [g1ayy8knfdhepp2rws2m8kq5jzjm67fsyl363kch](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft:token/28) |
| | |
| --- | --- |
|  | [g15y2jy3uatqlavdmjkfr779dydgjqk43akfad8m](/r/g17khqpukees4237dtn3astzapmp462vjhsz6st4/settlers/nft:token/27) |
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.