Transaction
86BA001C7A62E3…83A17EF1DF94
Block 26,345 · index 0 · indexed
Summary
- Hash
- 86BA001C7A62E3FB642E2FF3B443A28A11332645BFC5D4A4D53C83A17EF1DF94
- Block
- 26,345
- Size
- 2612 bytes
- Gas used
- 7,588,754 / 9,106,564
- Fee
- 1000000ugnot
- Memo
- gnopublish
- Status
- success
Messages
- Package
- gno.land/r/moul/hello/v0
Arguments · 9
- #1hello
- #2README.md
- #3# `gno.land/r/moul/hello/v0` Canary realm proving the end-to-end pipeline (imports p/moul/greet/v0). <!-- BEGIN GNOCONTRACTS FOOTER (generated by `make readmes`; do not edit below) --> --- Part of **[moul/gno-contracts](https://github.com/moul/gno-contracts)** — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage. **Dependency graph:**  > ⚠️ **Disclaimer:** provided as-is, without warranty; not security-audited. Full disclaimer: [DISCLAIMER](https://github.com/moul/gno-contracts/blob/main/DISCLAIMER.md). <!-- END GNOCONTRACTS FOOTER -->
- #4gnomod.toml
- #5module = "gno.land/r/moul/hello/v0" gno = "0.9"
- #6hello.gno
- #7// Package hello is a canary realm: it proves the end-to-end pipeline (workspace // resolution of a versioned local dependency, gno test, gno lint, and CI) // works from the very first commit. It has no external dependencies. Remove it // once real realms land. package hello import ( "strings" "gno.land/p/moul/greet/v0" ) // greets counts how many times Greet has been called (persistent state). var greets int // Greet records a greeting from the caller and returns it. Crossing function: // it mutates persistent state, so it takes `cur realm` per the gno 0.9 // interrealm convention. func Greet(cur realm, name string) string { greets++ return greet.Greet(name) } // Count returns how many greetings have been recorded. Read-only. func Count() int { return greets } // Render is the gnoweb Markdown view. func Render(path string) string { var b strings.Builder b.WriteString("# r/moul/hello/v0\n\n") b.WriteString("Canary realm for the gno-contracts repository.\n\n") b.WriteString("- Greetings recorded: ") b.WriteString(itoa(greets)) b.WriteString("\n") return b.String() } // itoa avoids importing strconv for a single conversion in the canary. func itoa(n int) string { if n == 0 { return "0" } neg := n < 0 if neg { n = -n } var buf [20]byte i := len(buf) for n > 0 { i-- buf[i] = byte('0' + n%10) n /= 10 } if neg { i-- buf[i] = '-' } return string(buf[i:]) }
- #8/gno.MemPackageType
- #9 MPUserProd
Result log
msg:0,success:true,log:,events:[]