Transaction
2D70A47820950E…7F5D11A3ED63
Block 652,649 · index 0 · indexed
Summary
- Hash
- 2D70A47820950EBD61781838194A7BAA409B86EAA635750E7F047F5D11A3ED63
- Block
- 652,649
- Size
- 17225 bytes
- Gas used
- 23,899,464 / 26,289,377
- Fee
- 26290 ugnot
- Memo
- Deployed through play.gno.land
- Status
- success
Messages
#1AddPackagegno.land/r/g1hl9dtl90l8pultlz2wxh54xdj8mz4r2myly5fu/public_good_guide_202610087 arguments
Arguments · 7
- #1public_good_guide_20261008
- #2gnomod.toml
- #3module = "gno.land/r/g1hl9dtl90l8pultlz2wxh54xdj8mz4r2myly5fu/public_good_guide_20261008" gno = "0.9"
- #4gnostudio.gno
- #5// This file is automatically generated and contains metadata about this // package deployment. It serves as a marker that this package was deployed // using Gno Studio (or Gno Playground) and may be used by tools for analytics, verification, // and ecosystem features. // // This file does not affect package execution and should not be modified. package public_good_guide_20261008
- #6package.gno
- #7// Community-authored educational resource, prepared 2026-10-08. // Attribution: Gno.land https://gno.land/ ; sources linked in the rendered pages. package public_good_guide_20261008 const base = "/r/g1hl9dtl90l8pultlz2wxh54xdj8mz4r2myly5fu/public_good_guide_20261008" func Render(path string) string { if path == "" || path == "home" { return home() } if path == "start" { return start() } if path == "contribute" { return contribute() } if path == "evidence" { return evidence() } return "# Page not found / \u9875\u9762\u4e0d\u5b58\u5728\n\n[Home / \u9996\u9875](" + base + ")" } func navigation() string { return "\n\n---\n[Home / \u9996\u9875](" + base + ") | [Start / \u5165\u95e8](" + base + ":start) | [Contribute / \u8d21\u732e](" + base + ":contribute) | [Evidence / \u8bc1\u636e](" + base + ":evidence)\n\nBuilt for the community on [Gno.land](https://gno.land/). Independent educational contribution; not an official endorsement. \u793e\u533a\u6559\u80b2\u8d44\u6599\uff0c\u975e\u5b98\u65b9\u80cc\u4e66\u3002\n" } func home() string { return "# Gno Public Good Guide / Gno \u516c\u76ca\u5171\u5b66\u7ad9\n\nFree bilingual learning resources for people entering the Gno ecosystem.\n\u4e3a\u8fdb\u5165 Gno \u751f\u6001\u7684\u4eba\u63d0\u4f9b\u514d\u8d39\u3001\u4e2d\u82f1\u53cc\u8bed\u3001\u9644\u6765\u6e90\u7684\u5b66\u4e60\u6750\u6599\u3002\n\nEdition: 2026-10-08. Network facts are a dated snapshot; verify them again before use.\n\u7248\u672c\u65e5\u671f\uff1a2026-10-08\u3002\u7f51\u7edc\u4e8b\u5b9e\u662f\u5f53\u65e5\u5feb\u7167\uff0c\u4f7f\u7528\u524d\u8bf7\u91cd\u65b0\u6838\u9a8c\u3002\n\n## Three small public goods / \u4e09\u4efd\u53ef\u590d\u7528\u7684\u516c\u76ca\u8d44\u6599\n\n1. **Start / \u5165\u95e8** \u2014 identify the network, protect credentials, and understand what a transaction proves.\n \u8bc6\u522b\u771f\u5b9e\u7f51\u7edc\u3001\u4fdd\u62a4\u51ed\u636e\u3001\u7406\u89e3\u4ea4\u6613\u7a76\u7adf\u80fd\u8bc1\u660e\u4ec0\u4e48\u3002\n2. **Contribute / \u8d21\u732e** \u2014 turn a confusing first encounter into documentation, reproducible tests, and useful open-source work.\n \u5c06\u65b0\u624b\u9047\u5230\u7684\u56f0\u96be\u8f6c\u5316\u4e3a\u6587\u6863\u3001\u53ef\u590d\u73b0\u5b9e\u4f8b\u4e0e\u5f00\u6e90\u8d21\u732e\u3002\n3. **Evidence / \u8bc1\u636e** \u2014 a practical template for documenting public-good work without exposing beneficiaries.\n \u8bb0\u5f55\u516c\u76ca\u5de5\u4f5c\u7684\u65b9\u6cd5\uff0c\u517c\u987e\u8bc1\u636e\u548c\u53d7\u52a9\u8005\u9690\u79c1\u3002\n\n## What this resource does / \u672c\u7ad9\u529f\u80fd\n\nThe text is embedded in this package. Render only returns text; this package contains no token-transfer functions, collection form, donation address, tracking script, or administrator update function. Readers do not need to sign a transaction to read it. External links lead to separately maintained sites.\n\n\u6b63\u6587\u76f4\u63a5\u5b58\u653e\u5728\u672c\u5305\u4e2d\u3002Render \u53ea\u8fd4\u56de\u6587\u5b57\uff1b\u672c\u5305\u6ca1\u6709\u4ee3\u5e01\u8f6c\u8d26\u51fd\u6570\u3001\u4fe1\u606f\u6536\u96c6\u8868\u5355\u3001\u52df\u6350\u5730\u5740\u3001\u8ffd\u8e2a\u811a\u672c\u6216\u7ba1\u7406\u5458\u66f4\u65b0\u51fd\u6570\u3002\u8bfb\u8005\u65e0\u9700\u7b7e\u7f72\u4ea4\u6613\u5373\u53ef\u9605\u8bfb\u3002\u5916\u90e8\u94fe\u63a5\u6307\u5411\u72ec\u7acb\u7ef4\u62a4\u7684\u7f51\u7ad9\u3002\n\nPublication records authorship and content, not proof that anyone has benefited. A durable record still depends on the network and archives continuing to exist; no website can promise unconditional eternity.\n\n\u53d1\u5e03\u8bb0\u5f55\u80fd\u8bc1\u660e\u5185\u5bb9\u4e0e\u53d1\u5e03\u884c\u4e3a\uff0c\u4e0d\u80fd\u81ea\u52a8\u8bc1\u660e\u5df2\u7ecf\u5e2e\u52a9\u4e86\u591a\u5c11\u4eba\u3002\u957f\u671f\u7559\u5b58\u4ecd\u4f9d\u8d56\u7f51\u7edc\u548c\u6863\u6848\u6301\u7eed\u5b58\u5728\uff0c\u4efb\u4f55\u7f51\u7ad9\u90fd\u65e0\u6cd5\u65e0\u6761\u4ef6\u4fdd\u8bc1\u6c38\u8fdc\u53ef\u7528\u3002\n" + navigation() } func start() string { return "# Start safely / \u5b89\u5168\u5165\u95e8\n\n## 1. Identify the chain / \u5148\u8ba4\u6e05\u94fe\n\nAt this edition's date, the official mainnet identity is **gnoland-1**, with RPC **https://rpc.gno.land:443**. The official mainnet announcement says it is a fresh chain, distinct from betanet. A wallet label alone is insufficient: compare the node's /status network field with the transaction's chain ID.\n\n\u672c\u7248\u8bb0\u5f55\u7684\u4e3b\u7f51\u6807\u8bc6\u4e3a **gnoland-1**\uff0cRPC \u4e3a **https://rpc.gno.land:443**\u3002\u5b98\u65b9\u516c\u544a\u8bf4\u660e\u5b83\u662f\u72ec\u7acb\u65b0\u94fe\u3002\u4e0d\u8981\u53ea\u76f8\u4fe1\u94b1\u5305\u6216\u7f51\u9875\u4e2d\u7684\u7f51\u7edc\u540d\u79f0\uff0c\u5e94\u5bf9\u7167\u8282\u70b9 /status \u7684 network \u5b57\u6bb5\u4e0e\u5f85\u7b7e\u4ea4\u6613\u7684\u94fe ID\u3002\n\nThe September 29 announcement introduces **Onyx (onyx-1)** for mainnet-like testing. Some documentation may still name Pearl. Use dated announcements and actual node status together. Testnet balances and transactions do not prove a mainnet result.\n\n9 \u6708 29 \u65e5\u516c\u544a\u4ecb\u7ecd\u4e86\u7528\u4e8e\u63a5\u8fd1\u4e3b\u7f51\u73af\u5883\u6d4b\u8bd5\u7684 **Onyx\uff08onyx-1\uff09**\uff1b\u90e8\u5206\u6587\u6863\u4ecd\u53ef\u80fd\u5199 Pearl\u3002\u5e94\u7ed3\u5408\u516c\u544a\u65e5\u671f\u4e0e\u8282\u70b9\u72b6\u6001\u5224\u65ad\u3002\u6d4b\u8bd5\u7f51\u4f59\u989d\u548c\u4ea4\u6613\u4e0d\u80fd\u8bc1\u660e\u4e3b\u7f51\u6210\u679c\u3002\n\n## 2. Understand the cost / \u5206\u6e05\u8d39\u7528\n\n1 GNOT = 1,000,000 ugnot. Reading a rendered page is a query. Publishing or changing state requires a transaction. Check the wallet's total fee, gas limit, storage deposit and any attached token amount separately. Simulate first where supported. Failed on-chain transactions can still cost fees.\n\n1 GNOT \u7b49\u4e8e 1,000,000 ugnot\u3002\u6d4f\u89c8\u9875\u9762\u5c5e\u4e8e\u67e5\u8be2\uff0c\u53d1\u5e03\u6216\u4fee\u6539\u72b6\u6001\u9700\u8981\u4ea4\u6613\u3002\u5206\u522b\u67e5\u770b\u94b1\u5305\u4e2d\u7684\u603b\u624b\u7eed\u8d39\u3001gas \u4e0a\u9650\u3001\u5b58\u50a8\u62bc\u91d1\u548c\u9644\u5e26\u8f6c\u8d26\u91d1\u989d\uff1b\u652f\u6301\u6a21\u62df\u65f6\u5148\u6a21\u62df\u3002\u5931\u8d25\u7684\u94fe\u4e0a\u4ea4\u6613\u4ecd\u53ef\u80fd\u6536\u8d39\u3002\n\n## 3. Protect people and credentials / \u4fdd\u62a4\u4eba\u4e0e\u51ed\u636e\n\nNever put passwords, seed phrases, private keys, phone numbers, home addresses, medical records, or identifying beneficiary lists on chain. Use a dedicated publishing account and retain a private local copy of receipts. Review every requested action and recipient.\n\n\u4e0d\u8981\u628a\u5bc6\u7801\u3001\u52a9\u8bb0\u8bcd\u3001\u79c1\u94a5\u3001\u7535\u8bdd\u53f7\u7801\u3001\u5bb6\u5ead\u4f4f\u5740\u3001\u533b\u7597\u8bb0\u5f55\u6216\u53ef\u8bc6\u522b\u53d7\u52a9\u8005\u7684\u540d\u5355\u5199\u4e0a\u94fe\u3002\u4f7f\u7528\u72ec\u7acb\u53d1\u5e03\u8d26\u6237\uff0c\u5728\u672c\u5730\u4fdd\u7559\u56de\u6267\u3002\u9010\u9879\u6838\u5bf9\u4ea4\u6613\u884c\u4e3a\u53ca\u63a5\u6536\u65b9\u3002\n\n## 4. Verify the result / \u9a8c\u8bc1\u6210\u679c\n\nA saved editor draft or shared Playground link is not a chain receipt. Record chain ID, transaction hash, block height, success result, package path and source digest. Read the source back from the chain. Check activation separately: the mainnet launch policy parks newly submitted code until package approval.\n\n\u7f16\u8f91\u5668\u8349\u7a3f\u3001Playground \u5206\u4eab\u94fe\u63a5\u90fd\u4e0d\u662f\u94fe\u4e0a\u56de\u6267\u3002\u5e94\u8bb0\u5f55\u94fe ID\u3001\u4ea4\u6613\u54c8\u5e0c\u3001\u533a\u5757\u9ad8\u5ea6\u3001\u6267\u884c\u7ed3\u679c\u3001\u5305\u8def\u5f84\u53ca\u6e90\u7801\u6458\u8981\uff0c\u518d\u4ece\u94fe\u4e0a\u8bfb\u56de\u6e90\u7801\u3002\u8fd0\u884c\u72b6\u6001\u8981\u53e6\u884c\u6838\u5b9e\uff1a\u4e3b\u7f51\u4e0a\u7ebf\u65f6\u91c7\u7528\u4e86\u65b0\u4ee3\u7801\u5f85\u5305\u5ba1\u6279\u540e\u6fc0\u6d3b\u7684\u673a\u5236\u3002\n\n## Sources / \u6765\u6e90\n\n- [Mainnet announcement](https://gno.land/r/gnoland/blog:p/gnoland-1)\n- [Onyx announcement](https://gno.land/r/gnoland/blog:p/onyx-1)\n- [Network documentation](https://docs.gno.land/resources/gnoland-networks/)\n- [Storage deposits](https://docs.gno.land/resources/storage-deposit/)\n- [Official repository](https://github.com/gnolang/gno)\n" + navigation() } func contribute() string { return "# Make a useful contribution / \u505a\u6709\u7528\u7684\u5f00\u6e90\u8d21\u732e\n\n## A small ecosystem map / \u4e00\u5f20\u7b80\u660e\u5730\u56fe\n\n- **Gno / GnoVM**: deterministic Go-like contracts and automatically persisted state. \u5b66\u4e60\u4ee3\u7801\u4e0e\u72b6\u6001\u5982\u4f55\u5728\u94fe\u4e0a\u6267\u884c\u548c\u7559\u5b58\u3002\n- **Playground / gnodev**: write, test and preview a small realm. \u5728\u6d4f\u89c8\u5668\u6216\u672c\u5730\u6d4b\u8bd5\u5c0f\u578b\u5e94\u7528\u3002\n- **Gnoweb**: read a realm's rendered content and inspect source. \u67e5\u770b\u5e94\u7528\u5185\u5bb9\u4e0e\u6e90\u7801\u3002\n- **Adena / gnokey**: wallet and signing tools. \u7ba1\u7406\u8eab\u4efd\u5e76\u7b7e\u7f72\u660e\u786e\u7684\u64cd\u4f5c\u3002\n- **Gnoscan**: inspect accounts, blocks and transactions; confirm its selected network. \u67e5\u8be2\u8d26\u6237\u3001\u533a\u5757\u548c\u4ea4\u6613\uff0c\u5148\u786e\u8ba4\u6240\u9009\u7f51\u7edc\u3002\n- **GovDAO / Boards**: observe governance and community discussions. \u9605\u8bfb\u6cbb\u7406\u4e0e\u793e\u533a\u8ba8\u8bba\uff0c\u53c2\u4e0e\u524d\u7406\u89e3\u89c4\u5219\u3002\n\n## A contribution anyone can start / \u4eba\u4eba\u53ef\u4ee5\u5f00\u59cb\u7684\u8d21\u732e\n\n1. Find one reproducible obstacle: a stale network label, missing translation, broken example, or unclear error.\n \u627e\u5230\u4e00\u4e2a\u53ef\u590d\u73b0\u7684\u95ee\u9898\uff0c\u4f8b\u5982\u65e7\u7f51\u7edc\u540d\u79f0\u3001\u7f3a\u5931\u7ffb\u8bd1\u3001\u5931\u6548\u793a\u4f8b\u6216\u4e0d\u6e05\u6670\u7684\u62a5\u9519\u3002\n2. Record the date, network, tool version, exact steps, expected result and actual result. Remove all secrets.\n \u8bb0\u5f55\u65e5\u671f\u3001\u7f51\u7edc\u3001\u5de5\u5177\u7248\u672c\u3001\u6b65\u9aa4\u3001\u9884\u671f\u4e0e\u5b9e\u9645\u7ed3\u679c\uff0c\u5220\u9664\u5168\u90e8\u79d8\u5bc6\u4fe1\u606f\u3002\n3. Make the smallest useful repair. Test it locally or on the current testnet before proposing production use.\n \u5236\u4f5c\u8303\u56f4\u660e\u786e\u7684\u5c0f\u4fee\u590d\uff0c\u5148\u5728\u672c\u5730\u6216\u5f53\u524d\u6d4b\u8bd5\u7f51\u9a8c\u8bc1\u3002\n4. Link original sources; label translations and interpretations. Do not silently copy an old network value into a new guide.\n \u4fdd\u7559\u539f\u59cb\u6765\u6e90\uff0c\u6ce8\u660e\u7ffb\u8bd1\u4e0e\u89e3\u91ca\uff0c\u4e0d\u8981\u65e0\u63d0\u793a\u5730\u628a\u65e7\u7f51\u7edc\u53c2\u6570\u5199\u5165\u65b0\u6307\u5357\u3002\n5. Submit through the project's contribution process. Record the issue or change link and its real review status.\n \u6309\u9879\u76ee\u6d41\u7a0b\u63d0\u4ea4\uff0c\u8bb0\u5f55\u771f\u5b9e\u7684\u8bae\u9898\u6216\u4fee\u6539\u94fe\u63a5\u53ca\u5ba1\u6838\u72b6\u6001\u3002\n\nSuggested first exercise: create a Render-only resource page with several routes, test known and unknown routes, and document its fee and verification procedure. Do not count automated transactions as evidence of social impact.\n\n\u5efa\u8bae\u7684\u9996\u4e2a\u7ec3\u4e60\uff1a\u5236\u4f5c\u5e26\u591a\u4e2a\u8def\u7531\u3001\u53ea\u8bfb Render \u7684\u8d44\u6599\u9875\uff1b\u6d4b\u8bd5\u5df2\u77e5\u53ca\u672a\u77e5\u8def\u5f84\uff0c\u8bb0\u5f55\u8d39\u7528\u548c\u6838\u9a8c\u65b9\u6cd5\u3002\u4e0d\u8981\u7528\u81ea\u52a8\u5316\u4ea4\u6613\u6b21\u6570\u4ee3\u66ff\u5b9e\u9645\u516c\u76ca\u6548\u679c\u3002\n\n## Reliable starting points / \u53ef\u9760\u5165\u53e3\n\n- [Official documentation](https://docs.gno.land/)\n- [Gno source and contribution process](https://github.com/gnolang/gno)\n- [Workshops](https://github.com/gnolang/workshops)\n- [Community projects](https://github.com/gnoverse)\n- [Ecosystem directory](https://gno.land/ecosystem)\n- [Gnoscan](https://gnoscan.io/)\n- [GovDAO](https://gno.land/r/gov/dao)\n\nDirectory presence is not a security audit or proof of current mainnet deployment. \u9879\u76ee\u88ab\u76ee\u5f55\u6536\u5f55\uff0c\u4e0d\u7b49\u4e8e\u5df2\u7ecf\u8fc7\u5b89\u5168\u5ba1\u8ba1\uff0c\u4e5f\u4e0d\u7b49\u4e8e\u5df2\u90e8\u7f72\u5230\u5f53\u524d\u4e3b\u7f51\u3002\n" + navigation() } func evidence() string { return "# Public-good evidence template / \u516c\u76ca\u884c\u52a8\u8bc1\u636e\u6a21\u677f\n\nCopy this structure into your own project record. The template is a method, not a claim that a donation or activity has happened.\n\u53ef\u5c06\u672c\u7ed3\u6784\u590d\u7528\u4e8e\u81ea\u5df1\u7684\u9879\u76ee\u8bb0\u5f55\u3002\u6a21\u677f\u672c\u8eab\u4e0d\u8868\u793a\u4efb\u4f55\u6350\u8d60\u6216\u516c\u76ca\u6d3b\u52a8\u5df2\u7ecf\u53d1\u751f\u3002\n\n## A. Purpose / \u76ee\u6807\n\n- Problem and intended audience / \u95ee\u9898\u53ca\u670d\u52a1\u5bf9\u8c61\uff1a\n- Concrete deliverable and public access method / \u5177\u4f53\u4ea7\u51fa\u4e0e\u516c\u5f00\u8bbf\u95ee\u65b9\u5f0f\uff1a\n- Date, scope and limits / \u65e5\u671f\u3001\u8303\u56f4\u53ca\u9650\u5236\uff1a\n\n## B. Action and cost / \u884c\u52a8\u4e0e\u6210\u672c\n\n- What was actually completed / \u5b9e\u9645\u5b8c\u6210\u4e8b\u9879\uff1a\n- Materials or source version / \u6750\u6599\u6216\u6e90\u7801\u7248\u672c\uff1a\n- Fee actually charged / \u5b9e\u9645\u624b\u7eed\u8d39\uff1a\n- Storage deposit locked, separately stated / \u5355\u72ec\u5217\u51fa\u7684\u9501\u5b9a\u5b58\u50a8\u62bc\u91d1\uff1a\n- Other spending, purpose and receipt / \u5176\u4ed6\u652f\u51fa\u3001\u7528\u9014\u4e0e\u51ed\u636e\uff1a\n\nDo not publish personal financial documents or beneficiary identities. Aggregate results where possible, and keep consent records off chain.\n\u4e0d\u8981\u516c\u5f00\u4e2a\u4eba\u8d22\u52a1\u6750\u6599\u6216\u53d7\u52a9\u8005\u8eab\u4efd\u3002\u5c3d\u53ef\u80fd\u6c47\u603b\u5448\u73b0\u7ed3\u679c\uff0c\u5e76\u5c06\u540c\u610f\u8bb0\u5f55\u4fdd\u7559\u5728\u7ebf\u4e0b\u3002\n\n## C. Chain evidence / \u94fe\u4e0a\u8bc1\u636e\n\n- Chain ID and RPC / \u94fe ID \u4e0e\u8282\u70b9\uff1a\n- Transaction hash, block height and timestamp / \u4ea4\u6613\u54c8\u5e0c\u3001\u533a\u5757\u9ad8\u5ea6\u4e0e\u65f6\u95f4\uff1a\n- Execution success or failure / \u6267\u884c\u6210\u529f\u6216\u5931\u8d25\uff1a\n- Package path and source digest / \u5305\u8def\u5f84\u4e0e\u6e90\u7801\u6458\u8981\uff1a\n- Read-back check and activation status / \u8bfb\u56de\u6838\u9a8c\u4e0e\u6fc0\u6d3b\u72b6\u6001\uff1a\n\n## D. Outcome and uncertainty / \u6548\u679c\u4e0e\u4e0d\u786e\u5b9a\u6027\n\n- Observable use or feedback, with consent / \u7ecf\u540c\u610f\u8bb0\u5f55\u7684\u5b9e\u9645\u4f7f\u7528\u6216\u53cd\u9988\uff1a\n- What the evidence does not establish / \u8bc1\u636e\u5c1a\u4e0d\u80fd\u8bc1\u660e\u7684\u4e8b\u9879\uff1a\n- Correction procedure and next review date / \u66f4\u6b63\u529e\u6cd5\u4e0e\u4e0b\u6b21\u590d\u6838\u65e5\u671f\uff1a\n\nA transaction proves a recorded action, not the truth of an off-chain assertion. A content hash checks that bytes match, not that their claims are correct. A published learning resource is a deliverable; learning benefit requires separate evidence.\n\n\u4ea4\u6613\u53ef\u4ee5\u8bc1\u660e\u88ab\u8bb0\u5f55\u7684\u64cd\u4f5c\uff0c\u4e0d\u80fd\u81ea\u52a8\u8bc1\u660e\u94fe\u5916\u9648\u8ff0\u4e3a\u771f\u3002\u5185\u5bb9\u6458\u8981\u53ef\u4ee5\u6838\u5bf9\u5b57\u8282\u4e00\u81f4\u6027\uff0c\u4e0d\u80fd\u8bc1\u660e\u5185\u5bb9\u6b63\u786e\u3002\u53d1\u5e03\u5b66\u4e60\u6750\u6599\u662f\u4e00\u9879\u4ea7\u51fa\uff1b\u5b9e\u9645\u5b66\u4e60\u6548\u679c\u9700\u8981\u53e6\u884c\u4e3e\u8bc1\u3002\n\nFor corrections, publish an explicitly dated successor and link the earlier version. Preserve the distinction between original evidence and later interpretation.\n\u9700\u8981\u66f4\u6b63\u65f6\uff0c\u53d1\u5e03\u6ce8\u660e\u65e5\u671f\u7684\u540e\u7eed\u7248\u672c\u5e76\u94fe\u63a5\u65e7\u7248\uff0c\u533a\u5206\u539f\u59cb\u8bc1\u636e\u4e0e\u540e\u6765\u7684\u89e3\u91ca\u3002\n" + navigation() }
Result log
msg:0,success:true,log:,events:[]