Transaction
5E851FDEE1E3D4…9B5F17CA2DFB
Block 26,007 · index 0 · indexed
Summary
- Hash
- 5E851FDEE1E3D4BFCD9506BA32DAD1BF814284D356287CB861D39B5F17CA2DFB
- Block
- 26,007
- Size
- 4165 bytes
- Gas used
- 8,394,404 / 10,073,344
- Fee
- 1000000ugnot
- Memo
- gnopublish
- Status
- success
Messages
Arguments · 9
- #1crc32demo
- #2README.md
- #3# CRC-32 > ⚠️ **Experimental — generated with no human supervision** by the daily MCP pipeline to exercise gno tooling. Not audited. See [r/moul/x/daily](https://github.com/moul/gno-contracts/blob/main/r/moul/x/daily/README.md). --- Checksums a few strings and shows that a one-character change moves the result completely. ``` /r/moul/x/daily/crc32demo/v0 → the samples table /r/moul/x/daily/crc32demo/v0:abc → checksum your own text ``` Demo of the [`p/moul/x/daily/crc32`](https://github.com/moul/gno-contracts/tree/main/p/moul/x/daily/crc32/v0) library — no checksum logic lives here. Stateless, so `Render` is deterministic. The table includes `123456789` → `cbf43926`, the standard CRC-32 check value, so the pinned example doubles as a conformance test. The last two rows differ by a single letter and share no hex digits — that avalanche is the property worth seeing. Built for gno 0.9. <!-- 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:**  > 🧪 **Highly experimental — potentially vibe-coded.** Not audited; may break, change, or be removed at any time. Do not use with anything of value. Full disclaimer: [DISCLAIMER](https://github.com/moul/gno-contracts/blob/main/DISCLAIMER.md). <!-- END GNOCONTRACTS FOOTER -->
- #4crc32demo.gno
- #5// Package crc32demo is a small gnoweb demo of the CRC-32 checksum provided by // the [p/moul/x/daily/crc32](/p/moul/x/daily/crc32/v0) library: it checksums a // few strings and shows that a one-character change moves the result // completely. // // It contains no checksum logic of its own. Stateless, so Render is // deterministic. package crc32demo import ( "strings" "gno.land/p/moul/x/daily/crc32/v0" ) var samples = []string{"", "a", "abc", "123456789", "hello world", "hello worle"} // Render renders the demo for gnoweb. // // Render("") / Render("/") -> the samples table // Render("/<text>") -> checksum that text func Render(path string) string { var b strings.Builder b.WriteString("# CRC-32\n\n") b.WriteString("The IEEE checksum behind zip, gzip and PNG, demoing the ") b.WriteString("[`p/moul/x/daily/crc32`](/p/moul/x/daily/crc32/v0) library.\n\n") if in := parseArg(path); in != "" { b.WriteString("## `") b.WriteString(in) b.WriteString("`\n\n`") b.WriteString(crc32.ChecksumHex(in)) b.WriteString("`\n") return b.String() } b.WriteString("| input | crc32 |\n|---|---|\n") for _, s := range samples { b.WriteString("| ") if s == "" { b.WriteString("_(empty)_") } else { b.WriteString("`" + s + "`") } b.WriteString(" | `") b.WriteString(crc32.ChecksumHex(s)) b.WriteString("` |\n") } b.WriteString("\n`123456789` → `cbf43926` is the standard CRC-32 check value, ") b.WriteString("so this table doubles as a conformance test.\n\n") b.WriteString("> The last two rows differ by one letter and share no digits: ") b.WriteString("that avalanche is the point.\n\n") b.WriteString("> A CRC detects **accidents**, not tampering — it is linear, so a ") b.WriteString("matching message is easy to craft. Never authenticate with it.\n") return b.String() } func parseArg(path string) string { s := strings.TrimSpace(path) s = strings.TrimPrefix(s, "/") if i := strings.IndexByte(s, '/'); i >= 0 { s = s[:i] } return s }
- #6gnomod.toml
- #7module = "gno.land/r/moul/x/daily/crc32demo/v0" gno = "0.9"
- #8/gno.MemPackageType
- #9 MPUserProd
Result log
msg:0,success:true,log:,events:[]