diff --git a/.gitpod.yml b/.gitpod.yml index 49dec8ed15d..e1d90d7c097 100644 --- a/.gitpod.yml +++ b/.gitpod.yml @@ -31,7 +31,7 @@ tasks: ports: - name: gnoweb - description: "the Gno.land web server" + description: "the gno.land web server" port: 8888 onOpen: open-preview diff --git a/README.md b/README.md index 9d343d51b57..19ac161e790 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Gno is an interpreted and fully-deterministic implementation of the Go programming language, designed to build succinct and composable smart contracts. -The first blockchain to use it is Gno.land, a +The first blockchain to use it is gno.land, a [Proof of Contribution](./docs/concepts/proof-of-contribution.md)-based chain, backed by a variation of the [Tendermint](https://docs.tendermint.com/v0.34/introduction/what-is-tendermint.html) consensus engine. @@ -47,7 +47,7 @@ repository offers more resources to dig into. We are eager to see your first PR!

-[Gno Playground](https://play.gno.land), available at [play.gno.land](https://play.gno.land), is a web app that allows users to write, share, and deploy Gno code. Developers can seamlessly test, debug, and deploy realms and packages on Gno.land, while being able to collaborate with peers to work on projects together and seek assistance. A key feature of Gno Playground is the ability to get started without the need to install any tools or manage any services, offering immediate access and convenience for users. +[Gno Playground](https://play.gno.land), available at [play.gno.land](https://play.gno.land), is a web app that allows users to write, share, and deploy Gno code. Developers can seamlessly test, debug, and deploy realms and packages on gno.land, while being able to collaborate with peers to work on projects together and seek assistance. A key feature of Gno Playground is the ability to get started without the need to install any tools or manage any services, offering immediate access and convenience for users. ## Repository structure diff --git a/contribs/gnofaucet/serve.go b/contribs/gnofaucet/serve.go index c82155d0ce7..837e620c5aa 100644 --- a/contribs/gnofaucet/serve.go +++ b/contribs/gnofaucet/serve.go @@ -154,7 +154,7 @@ func execServe(ctx context.Context, cfg *serveCfg, io commands.IO) error { // Parse static gas values. // It is worth noting that this is temporary, // and will be removed once gas estimation is enabled - // on Gno.land + // on gno.land gasFee := std.MustParseCoin(defaultGasFee) gasWanted, err := strconv.ParseInt(defaultGasWanted, 10, 64) diff --git a/docs/concepts/concepts.md b/docs/concepts/concepts.md index 88deb4129f1..452627747b5 100644 --- a/docs/concepts/concepts.md +++ b/docs/concepts/concepts.md @@ -5,4 +5,4 @@ id: concepts # Concepts Welcome to the **Concepts** section for Gno. This section outlines the most important -concepts related to Gno & Gno.land. +concepts related to Gno & gno.land. diff --git a/docs/concepts/gno-language.md b/docs/concepts/gno-language.md index 4e0605a6fac..b733f37b44f 100644 --- a/docs/concepts/gno-language.md +++ b/docs/concepts/gno-language.md @@ -21,8 +21,8 @@ serialize and deserialize objects to persist them into a database (unlike progra ## How Gno Differs from Go -The composable nature of Go/Gno allows for type-checked interactions between contracts, making Gno.land safer and more -powerful, as well as operationally cheaper and faster. Smart contracts on Gno.land are light, simple, more focused, and +The composable nature of Go/Gno allows for type-checked interactions between contracts, making gno.land safer and more +powerful, as well as operationally cheaper and faster. Smart contracts on gno.land are light, simple, more focused, and easily interoperable - they represent a network of interconnected contracts rather than siloed monoliths that limit interactions with other contracts. diff --git a/docs/concepts/gno-modules.md b/docs/concepts/gno-modules.md index 2122ae94371..8ebc56b312e 100644 --- a/docs/concepts/gno-modules.md +++ b/docs/concepts/gno-modules.md @@ -4,7 +4,7 @@ id: gno-modules # Gno Modules -The packages and realms containing `gno.mod` file can be referred as Gno modules. `gno.mod` file is introduced to enhance local testing and handle dependency management while testing Gno packages/realms locally. At the time of writing, `gno.mod` is only used by the `gno` tool for local development, and it is disregarded on the Gno.land chain. +The packages and realms containing `gno.mod` file can be referred as Gno modules. `gno.mod` file is introduced to enhance local testing and handle dependency management while testing Gno packages/realms locally. At the time of writing, `gno.mod` is only used by the `gno` tool for local development, and it is disregarded on the gno.land chain. ## What is the gno.mod file for? diff --git a/docs/concepts/portal-loop.md b/docs/concepts/portal-loop.md index 5c7d8a75498..d96738bdddf 100644 --- a/docs/concepts/portal-loop.md +++ b/docs/concepts/portal-loop.md @@ -5,7 +5,7 @@ id: portal-loop # Portal Loop Portal Loop is an always-up-to-date staging testnet that allows for using -the latest version of Gno, Gno.land, and TM2. By utilizing the power of Docker +the latest version of Gno, gno.land, and TM2. By utilizing the power of Docker & the [tx-archive](https://github.com/gnolang/tx-archive) tool, the Portal Loop can run the latest code from the master branch on the [Gno monorepo](https://github.com/gnolang/gno), while preserving most/all of the previous transaction data. diff --git a/docs/concepts/stdlibs/events.md b/docs/concepts/stdlibs/events.md index ca97c7ee731..78da28ce083 100644 --- a/docs/concepts/stdlibs/events.md +++ b/docs/concepts/stdlibs/events.md @@ -9,7 +9,7 @@ id: events Events in Gno are a fundamental aspect of interacting with and monitoring on-chain applications. They serve as a bridge between the on-chain environment and off-chain services, making it simpler for developers, analytics tools, and -monitoring services to track and respond to activities happening in Gno.land. +monitoring services to track and respond to activities happening in gno.land. Gno events are pieces of data that log specific activities or changes occurring within the state of an on-chain app. These activities are user-defined; they might diff --git a/docs/concepts/tendermint2.md b/docs/concepts/tendermint2.md index 4dd43b0819e..50bf996247d 100644 --- a/docs/concepts/tendermint2.md +++ b/docs/concepts/tendermint2.md @@ -6,7 +6,7 @@ id: tendermint2 **Disclaimer: Tendermint2 is currently part of the Gno monorepo for streamlined development.** -**Once Gno.land is on the mainnet, Tendermint2 will operate independently, including for governance, +**Once gno.land is on the mainnet, Tendermint2 will operate independently, including for governance, on https://github.com/tendermint/tendermint2.** ## Problems diff --git a/docs/concepts/testnets.md b/docs/concepts/testnets.md index 27e7f687e21..f9a1ea6e515 100644 --- a/docs/concepts/testnets.md +++ b/docs/concepts/testnets.md @@ -4,7 +4,7 @@ id: testnets # Gno Testnets -This page documents all Gno.land testnets, what their properties are, and how +This page documents all gno.land testnets, what their properties are, and how they are meant to be used. For testnet configuration, visit the [reference section](../reference/network-config.md). @@ -93,7 +93,7 @@ of Gno, and it can contain new on-chain code - There is no versioning strategy for test3. It will stay the way it is, until the team chooses to shut it down. -Since Gno.land is designed with open-source in mind, anyone can see currently +Since gno.land is designed with open-source in mind, anyone can see currently available code by browsing the [test3 homepage](https://test3.gno.land/). Test3 is a single-node testnet, ran by the Gno core team. There is no plan to diff --git a/docs/getting-started/local-setup/browsing-gnoland.md b/docs/getting-started/local-setup/browsing-gnoland.md index 300b7e0e035..8a555a3c07b 100644 --- a/docs/getting-started/local-setup/browsing-gnoland.md +++ b/docs/getting-started/local-setup/browsing-gnoland.md @@ -2,11 +2,11 @@ id: browsing-gnoland --- -# Browsing Gno.land +# Browsing gno.land ## Overview In this tutorial, you will learn how to browse [realms](../../concepts/realms.md) -and [packages](../../concepts/packages.md) deployed to a Gno.land chain. +and [packages](../../concepts/packages.md) deployed to a gno.land chain. You will understand how the `Render` method is utilized to achieve realm state visibility, and you will learn how to easily access realm APIs. @@ -33,10 +33,10 @@ gno.land home page: ![homepage](../../assets/getting-started/local-setup/browsing-gno-source-code/gnoland-homepage.png) -## 2. Browsing Gno.land +## 2. Browsing gno.land ### Package source code -Packages in Gno.land usually have names resembling `gno.land/p/`. Since +Packages in gno.land usually have names resembling `gno.land/p/`. Since packages do not contain state, only their source code can be viewed on-chain. To learn more about packages, check out the [Packages](../../concepts/packages.md) concept page. @@ -55,7 +55,7 @@ From here, we can open any source code file of the deployed on-chain package and inspect its API. ### Realm source code & state -In contrast to Packages, Realms in Gno.land usually have names resembling +In contrast to Packages, Realms in gno.land usually have names resembling `gno.land/r/`. Realms _do_ contain state, and in addition to being able to view their source diff --git a/docs/getting-started/local-setup/installation.md b/docs/getting-started/local-setup/installation.md index a3658fa6ab3..58f71f93026 100644 --- a/docs/getting-started/local-setup/installation.md +++ b/docs/getting-started/local-setup/installation.md @@ -23,7 +23,7 @@ export PATH=$GOPATH/bin:$PATH ``` ## 1. Cloning the repository -To get started with a local Gno.land development environment, you must clone the +To get started with a local gno.land development environment, you must clone the GitHub repository somewhere on disk: ```bash @@ -85,8 +85,8 @@ You should get the following output: ### `gnokey` -`gnokey` is the Gno.land keypair management CLI tool. It allows you to create -keypairs, sign transactions, and broadcast them to Gno.land chains. Read more +`gnokey` is the gno.land keypair management CLI tool. It allows you to create +keypairs, sign transactions, and broadcast them to gno.land chains. Read more about `gnokey` [here](../../gno-tooling/cli/gnokey.md). To verify that the `gnokey` binary is installed system-wide, you can run: diff --git a/docs/getting-started/local-setup/interacting-with-gnoland.md b/docs/getting-started/local-setup/interacting-with-gnoland.md index 119a1698cde..e07c839d691 100644 --- a/docs/getting-started/local-setup/interacting-with-gnoland.md +++ b/docs/getting-started/local-setup/interacting-with-gnoland.md @@ -2,10 +2,10 @@ id: interacting-with-gnoland --- -# Interacting with Gno.land code +# Interacting with gno.land code ## Overview -In this tutorial, you will learn how to interact with Gno.land code. +In this tutorial, you will learn how to interact with gno.land code. You will understand how to use your keypair to send transactions to realms and packages, send native coins, and more. @@ -16,7 +16,7 @@ and packages, send native coins, and more. [Working with Key Pairs](working-with-key-pairs.md#adding-a-private-key-using-a-mnemonic) guide for steps ## 1. Get testnet GNOTs -For interacting with any Gno.land chain, you will need a certain amount of GNOTs +For interacting with any gno.land chain, you will need a certain amount of GNOTs to pay gas fees with. For this example, we will use the [Portal Loop](../../concepts/testnets.md#portal-loop) diff --git a/docs/getting-started/local-setup/local-setup.md b/docs/getting-started/local-setup/local-setup.md index 36d2a414de7..f0136f45638 100644 --- a/docs/getting-started/local-setup/local-setup.md +++ b/docs/getting-started/local-setup/local-setup.md @@ -3,6 +3,7 @@ id: local-setup --- # Local setup + This section will show you how to set up a local environment for Gno development. -It includes instructions for installation, setting up a Gno.land keypair, +It includes instructions for installation, setting up a gno.land keypair, browsing Gno source code, and more. diff --git a/docs/getting-started/local-setup/working-with-key-pairs.md b/docs/getting-started/local-setup/working-with-key-pairs.md index ec47a7d42ab..23516c44e6c 100644 --- a/docs/getting-started/local-setup/working-with-key-pairs.md +++ b/docs/getting-started/local-setup/working-with-key-pairs.md @@ -6,7 +6,7 @@ id: working-with-key-pairs ## Overview In this tutorial, you will learn how to manage private user keys, which are -required for interacting with the Gno.land blockchain. You will understand what +required for interacting with the gno.land blockchain. You will understand what mnemonics are, how they are used, and how you can make interaction seamless with Gno. @@ -83,7 +83,7 @@ The key response consists of a few pieces of information: - The derived address (`addr`) - The public key (`pub`) -Using these pieces of information, we can interact with Gno.land tools and write +Using these pieces of information, we can interact with gno.land tools and write blockchain applications. ## Generating a BIP39 mnemonic diff --git a/docs/getting-started/playground-start.md b/docs/getting-started/playground-start.md index a39aaa11c8a..f62e2748efe 100644 --- a/docs/getting-started/playground-start.md +++ b/docs/getting-started/playground-start.md @@ -9,12 +9,12 @@ id: playground-start The Gno Playground is an innovative web-based editor and sandbox that enables developers to interactively work with the Gno language. It makes coding, testing, and deploying simple with its diverse set of tools and features. Users can -share code, run tests, and deploy projects to Gno.land networks, +share code, run tests, and deploy projects to gno.land networks, making it the perfect tool to get started with Gno development. ## Prerequisites -- **A Gno.land compatible wallet** +- **A gno.land compatible wallet** - Currently, [Adena](https://www.adena.app/) is the preferred wallet for Gno.land, with more wallets being introduced in the future. @@ -27,7 +27,7 @@ simple `package.gno` file: The Playground has the following features: - `Share` - Generate a unique, short, and shareable identifier for your Gno code. -- `Deploy` - Connect your wallet and publish your code on Gno.land. +- `Deploy` - Connect your wallet and publish your code on gno.land. - `Format` - Automatically adjust your Gno code's structure and style for optimal readability and consistency. - `Run` - Execute a particular expression within your code to validate its functionality and output. - `Test` - Execute predefined tests to verify your code's integrity and ensure it meets expected outcomes. @@ -45,7 +45,7 @@ ensuring the shared code remains accessible over an extended period. ### Deploy The **Deploy** feature allows users to seamlessly deploy their Gno code to the -chain. After connecting a Gno.land wallet, users can select their desired +chain. After connecting a gno.land wallet, users can select their desired package path and network for deployment. ![default_deploy](../assets/getting-started/playground/default_deploy.png) @@ -92,10 +92,10 @@ will show you the output of the test. Read more about how Gno tests work The **REPL** feature allows you to experiment with the GnoVM. It provides a command-line interface for hands-on learning, iterative testing, and swift prototyping. -## Learning about Gno.land & writing Gno code +## Learning about gno.land & writing Gno code If you're new here, don't worry—content is regularly produced to breakdown -Gno.land to explain its features. Dive into the essentials of Gno.land by +Gno.land to explain its features. Dive into the essentials of gno.land by exploring the [Concepts](../concepts/concepts.md) section. To get started writing Gno code, check out the diff --git a/docs/gno-infrastructure/premining-balances.md b/docs/gno-infrastructure/premining-balances.md index a817eb43f8c..0755674543e 100644 --- a/docs/gno-infrastructure/premining-balances.md +++ b/docs/gno-infrastructure/premining-balances.md @@ -6,7 +6,7 @@ id: premining-balances ## Overview -In this tutorial, you will gain an understanding on how to premine native currency on a local Gno.land chain. +In this tutorial, you will gain an understanding on how to premine native currency on a local gno.land chain. Additionally, you will understand how to query the account balance after you premine it. Premining balance is the process of making sure some accounts (addresses) have specific funds when the chain initially diff --git a/docs/gno-infrastructure/validators/connect-to-existing-chain.md b/docs/gno-infrastructure/validators/connect-to-existing-chain.md index f1acf06049f..f15f6bb59e2 100644 --- a/docs/gno-infrastructure/validators/connect-to-existing-chain.md +++ b/docs/gno-infrastructure/validators/connect-to-existing-chain.md @@ -18,7 +18,7 @@ In this tutorial, you will learn how to start a local Gno node and connect to an ## 1. Initialize the node directory -To initialize a new Gno.land node working directory (configuration and secrets), make sure to +To initialize a new gno.land node working directory (configuration and secrets), make sure to follow [Step 1](./setting-up-a-new-chain.md#1-generate-the-node-directory-secrets--config) from the chain setup tutorial. @@ -97,7 +97,7 @@ gnoland config set p2p.seeds "g19d8x6tcr2eyup9e2zwp9ydprm98l76gp66tmd6@1.2.3.4:2 ## 6. Start the node -Now that we've set up the local node configuration, and added peering info, we can start the Gno.land node: +Now that we've set up the local node configuration, and added peering info, we can start the gno.land node: ```shell gnoland start \ diff --git a/docs/gno-infrastructure/validators/faq.md b/docs/gno-infrastructure/validators/faq.md index 296015eda5f..c345b49724a 100644 --- a/docs/gno-infrastructure/validators/faq.md +++ b/docs/gno-infrastructure/validators/faq.md @@ -6,17 +6,17 @@ id: validators-faq ## General Concepts -### What is a Gno.land validator? +### What is a gno.land validator? Gno.land is based on [Tendermint2](https://docs.gno.land/concepts/tendermint2) that relies on a set of validators selected based on [Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC) to secure the network. Validators are tasked with participating in consensus by committing new blocks and broadcasting votes. -Validators are compensated with a portion of transaction fees generated in the network. In Gno.land, the voting power of +Validators are compensated with a portion of transaction fees generated in the network. In gno.land, the voting power of all validators are equally weighted to achieve a high nakamoto coefficient and fairness. ### What is Tendermint2? -[Tendermint2](https://docs.gno.land/concepts/tendermint2) (TM2) is the consensus protocol that powers Gno.land. TM2 is a +[Tendermint2](https://docs.gno.land/concepts/tendermint2) (TM2) is the consensus protocol that powers gno.land. TM2 is a successor of [Tendermint Core](https://github.com/tendermint/tendermint2), a de facto consensus framework for building Proof of Stake blockchains. The design philosophy of TM2 is to create “complete software” without any vulnerabilities with development focused on minimalism, dependency removal, and modularity. @@ -24,26 +24,26 @@ with development focused on minimalism, dependency removal, and modularity. ### What is Proof of Contribution? [Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC) is a novel consensus mechanism that -secures Gno.land. PoC weighs expertise and alignment with the project to evaluate the contribution of individuals or +secures gno.land. PoC weighs expertise and alignment with the project to evaluate the contribution of individuals or teams who govern and operate the chain. Unlike Proof of Stake (PoS), validators are selected via governance of Contributors based on their reputation and technical proficiency. The voting power of the network is equally distributed across all validators for higher decentralization. A portion of all transaction fees paid to the network are evenly shared between all validators to provide a fair incentive structure. -### How does Gno.land differ from the Cosmos Hub? +### How does gno.land differ from the Cosmos Hub? In Cosmos Hub, validators are selected based on the amount of staked `ATOM` tokens delegated. This means that anyone with enough capital can join as a validator only to seek economic incentives without any alignment or technical expertise. This system leads to an undesirable incentive structure in which validators are rewarded purely based on the capital delegated, regardless of the quality of their infrastructure or service. -On the contrary, validators in Gno.land must be reviewed and verified to have made significant contributions in order to +On the contrary, validators in gno.land must be reviewed and verified to have made significant contributions in order to join the validator set. This property resembles the validator selection mechanism in [Proof of Authority](https://openethereum.github.io/Proof-of-Authority-Chains). Furthermore, all validators are evenly rewarded to ensure that the entire validator set is fairly incentivized to ensure the sustainability of the network. -### What stage is the Gno.land project in? +### What stage is the gno.land project in? Gno.land is currently in Testnet 3, the single-node testnet stage. The next version, Testnet 4, is scheduled to go live in Q3 2024, which will include a validator set implementation for a multinode environment. @@ -62,7 +62,7 @@ testnets, visit [Gno Testnets](https://docs.gno.land/concepts/testnets). ### What are the incentives for running a validator? -Network transaction fees paid on the Gno.land in `GNOT` are collected, from which a portion is directed to reward +Network transaction fees paid on the gno.land in `GNOT` are collected, from which a portion is directed to reward validators for their work. All validators fairly receive an equal amount of rewards. ### How many validators will there be in mainnet? diff --git a/docs/gno-infrastructure/validators/overview.md b/docs/gno-infrastructure/validators/overview.md index f04a20ab5ac..7128a8c6b75 100644 --- a/docs/gno-infrastructure/validators/overview.md +++ b/docs/gno-infrastructure/validators/overview.md @@ -44,12 +44,12 @@ will be determined following thorough testing and optimization experiments in Te ## Good Validators -Validators for Gno.land are trusted to demonstrate professionalism and responsibility. Below are best practices that can +Validators for gno.land are trusted to demonstrate professionalism and responsibility. Below are best practices that can be expected from a good, reliable validator. #### Ecosystem Contribution -- Contributing to the core development of the Gno.land project +- Contributing to the core development of the gno.land project - Providing useful tools or infrastructure services (wallets, explorers, public RPCs, etc.) - Creating educational materials to guide new members - Localizing documentation or content to lower language or cultural barriers @@ -75,7 +75,7 @@ be expected from a good, reliable validator. ## Community -Join the official Gno.land community in various channels to receive the latest updates about the project and actively +Join the official gno.land community in various channels to receive the latest updates about the project and actively communicate with other validators and contributors. - [Gno.land Blog](https://gno.land/r/gnoland/blog) @@ -84,7 +84,7 @@ communicate with other validators and contributors. :::info -The validator set implementation in Gno.land is abstracted away from the consensus mechanism inside the `r/sys/vals` +The validator set implementation in gno.land is abstracted away from the consensus mechanism inside the `r/sys/vals` realm. The realm is not production ready yet, and is still under active development. Proposals and contributions to improve and complete the implementation are welcome. diff --git a/docs/gno-infrastructure/validators/running-a-validator.md b/docs/gno-infrastructure/validators/running-a-validator.md index b9160725121..d13fa5d216e 100644 --- a/docs/gno-infrastructure/validators/running-a-validator.md +++ b/docs/gno-infrastructure/validators/running-a-validator.md @@ -4,16 +4,16 @@ id: validators-running-a-validator # Running a Validator -## Becoming a Gno.land validator +## Becoming a gno.land validator -The Gno.land blockchain is powered by the [Tendermint2](https://docs.gno.land/concepts/tendermint2) (TM2) consensus, +The gno.land blockchain is powered by the [Tendermint2](https://docs.gno.land/concepts/tendermint2) (TM2) consensus, which involves committing of new blocks and broadcasting votes by multiple validators selected via governance in [Proof of Contribution](https://docs.gno.land/concepts/proof-of-contribution) (PoC). While traditional Proof of Stake (PoS) blockchains such as the Cosmos Hub required validators to secure a delegation of staked tokens to join the -validator set, no bonding of capital is involved in Gno.land. Rather, the validators on Gno.land are expected to +validator set, no bonding of capital is involved in gno.land. Rather, the validators on gno.land are expected to demonstrate their technical expertise and alignment with the project by making continuous, meaningful contributions to the project. Furthermore, the voting power and the transaction fee rewards between validators are distributed evenly to -achieve higher decentralization. From a technical perspective, the validator set implementation in Gno.land as its +achieve higher decentralization. From a technical perspective, the validator set implementation in gno.land as its abstracted away into the `r/sys/vals` realm ([work in progress](https://github.com/gnolang/gno/issues/1824)), as a form of smart-contract, for modularity, whereas existing blockchains include the validator management logic within the consensus layer. diff --git a/docs/gno-infrastructure/validators/setting-up-a-new-chain.md b/docs/gno-infrastructure/validators/setting-up-a-new-chain.md index 8f94037dc1d..5d440a86684 100644 --- a/docs/gno-infrastructure/validators/setting-up-a-new-chain.md +++ b/docs/gno-infrastructure/validators/setting-up-a-new-chain.md @@ -173,7 +173,7 @@ gnoland config set moniker node01 :::warning Modify existing secrets -We can modify existing secrets, or utilize our own (if we have them backed up, for example) for the Gno.land node. +We can modify existing secrets, or utilize our own (if we have them backed up, for example) for the gno.land node. Each secret needs to be placed in the appropriate path within `/secrets`, and it can be replaced or regenerated with `gnoland secrets init --force` @@ -251,7 +251,7 @@ FLAGS ## 3. Add the `examples` packages into the `genesis.json` (optional) -This step is not necessarily required, however, using a Gno.land chain without the `examples` packages predeployed can +This step is not necessarily required, however, using a gno.land chain without the `examples` packages predeployed can present challenges with users who expect them to be present. The `examples` directory is located in the `$GNOROOT` location, or the local gno repository clone. diff --git a/docs/gno-tooling/cli/gnoland.md b/docs/gno-tooling/cli/gnoland.md index e4039e6cc0b..18175871d90 100644 --- a/docs/gno-tooling/cli/gnoland.md +++ b/docs/gno-tooling/cli/gnoland.md @@ -4,7 +4,7 @@ id: gno-tooling-gnoland # gnoland -`gnoland` is the Gno.land blockchain client binary, which is capable of managing +`gnoland` is the gno.land blockchain client binary, which is capable of managing node working files, as well as starting the blockchain client itself. ### gnoland start [flags] diff --git a/docs/how-to-guides/connecting-from-go.md b/docs/how-to-guides/connecting-from-go.md index d78f709201e..4926f700a4d 100644 --- a/docs/how-to-guides/connecting-from-go.md +++ b/docs/how-to-guides/connecting-from-go.md @@ -2,9 +2,9 @@ id: connect-from-go --- -# How to connect a Go app to Gno.land +# How to connect a Go app to gno.land -This guide will show you how to connect to a Gno.land network from your Go application, +This guide will show you how to connect to a gno.land network from your Go application, using the [gnoclient](../reference/gnoclient/gnoclient.md) package. For this guide, we will build a small Go app that will: @@ -14,7 +14,7 @@ For this guide, we will build a small Go app that will: - Read on-chain state ## Prerequisites -- A local Gno.land keypair generated using +- A local gno.land keypair generated using [gnokey](../getting-started/local-setup/working-with-key-pairs.md) ## Setup @@ -48,7 +48,7 @@ go get github.com/gnolang/gno/gno.land/pkg/gnoclient The `gnoclient` package exposes a `Client` struct containing a `Signer` and `RPCClient` connector. `Client` exposes all available functionality for talking -to a Gno.land chain. +to a gno.land chain. ```go type Client struct { @@ -59,7 +59,7 @@ type Client struct { ### Signer -The `Signer` provides functionality to sign transactions with a Gno.land keypair. +The `Signer` provides functionality to sign transactions with a gno.land keypair. The keypair can be accessed from a local keybase, or it can be generated in-memory from a BIP39 mnemonic. @@ -69,7 +69,7 @@ The keybase directory path is set with the `gnokey --home` flag. ### RPCClient -The `RPCCLient` provides connectivity to a Gno.land network via HTTP or WebSockets. +The `RPCCLient` provides connectivity to a gno.land network via HTTP or WebSockets. ## Initialize the Signer @@ -93,7 +93,7 @@ func main() { Keybase: keybase, Account: "", // Name of your keypair in keybase Password: "", // Password to decrypt your keypair - ChainID: "", // id of Gno.land chain + ChainID: "", // id of gno.land chain } } ``` @@ -107,7 +107,7 @@ function. ## Initialize the RPC connection & Client -You can initialize the RPC Client used to connect to the Gno.land network with +You can initialize the RPC Client used to connect to the gno.land network with the following line: ```go rpc, err := rpcclient.NewHTTPClient("") @@ -116,7 +116,7 @@ if err != nil { } ``` -A list of Gno.land network endpoints & chain IDs can be found in the +A list of gno.land network endpoints & chain IDs can be found in the [Gno RPC endpoints](../reference/network-config.md) page. With this, we can initialize the `gnoclient.Client` struct: @@ -139,7 +139,7 @@ func main() { Keybase: keybase, Account: "", // Name of your keypair in keybase Password: "", // Password to decrypt your keypair - ChainID: "", // id of Gno.land chain + ChainID: "", // id of gno.land chain } // Initialize the RPC client @@ -156,7 +156,7 @@ func main() { } ``` -We can now communicate with the Gno.land chain. Let's explore some of the functionality +We can now communicate with the gno.land chain. Let's explore some of the functionality `gnoclient` provides. ## Query account info from a chain @@ -202,7 +202,7 @@ We are now ready to send a transaction to the chain. ## Sending a transaction -A Gno.land transaction consists of two main parts: +A gno.land transaction consists of two main parts: - A set of base transaction fields, such as a gas price, gas limit, account & sequence number, - An array of messages to be executed on the chain. @@ -275,7 +275,7 @@ To see all functionality the `gnoclient` package provides, see the gnoclient Congratulations 🎉 -You've just built a small demo app in Go that connects to a Gno.land chain +You've just built a small demo app in Go that connects to a gno.land chain to query account info, send a transaction, and read on-chain state. Check out the full example app code [here](https://github.com/leohhhn/connect-gno/blob/master/main.go). diff --git a/docs/how-to-guides/deploy.md b/docs/how-to-guides/deploy.md index 54a0ef582ce..620a5664f7c 100644 --- a/docs/how-to-guides/deploy.md +++ b/docs/how-to-guides/deploy.md @@ -21,7 +21,7 @@ For this, check out the [**Deployment from a local environment**](#deployment-fr ### Prerequisites -- **A Gno.land-compatible wallet, such as [Adena](https://adena.app)** +- **A gno.land-compatible wallet, such as [Adena](https://adena.app)** ### Using Gno Playground @@ -137,4 +137,4 @@ subcommand, view the `gnokey` [reference](../gno-tooling/cli/gnokey.md#addpkg). That's it 🎉 -You have now successfully deployed a realm/package to a Gno.land chain. +You have now successfully deployed a realm/package to a gno.land chain. diff --git a/docs/how-to-guides/write-simple-dapp.md b/docs/how-to-guides/write-simple-dapp.md index f30a5fa5502..f844f8ab7c8 100644 --- a/docs/how-to-guides/write-simple-dapp.md +++ b/docs/how-to-guides/write-simple-dapp.md @@ -2,7 +2,7 @@ id: write-simple-dapp --- -# How to write a simple dApp on Gno.land +# How to write a simple dApp on gno.land ## Overview diff --git a/docs/overview.md b/docs/overview.md index 0ded72e06e2..3619e507dba 100644 --- a/docs/overview.md +++ b/docs/overview.md @@ -7,7 +7,7 @@ version of the Go programming language called Gno." # Overview -## What is Gno.land? +## What is gno.land? Gno.land is a Layer 1 blockchain platform that enables the execution of Smart Contracts using an interpreted version of the Go programming language called Gno. @@ -21,37 +21,37 @@ version of the Go programming language called Gno. planned for future development, ensuring deterministic GnoVM executions. 2. **Consensus Protocol - Tendermint2**: Gno.land achieves consensus between blockchain nodes using the Tendermint2 consensus protocol. This approach ensures secure and reliable network operation. -3. **Inter-Blockchain Communication (IBC)**: In the future, Gno.land will be able to communicate and exchange data with +3. **Inter-Blockchain Communication (IBC)**: In the future, gno.land will be able to communicate and exchange data with other blockchain networks within the Cosmos ecosystem through the Inter-Blockchain Communication (IBC) protocol. ### Why Go-based? -The decision to base Gno.land's language on Go was influenced by the following factors: +The decision to base gno.land's language on Go was influenced by the following factors: 1. **Standard and Secure Language**: Go is a well-established and secure programming language, widely adopted in the - software development community. By leveraging Go's features, Gno.land benefits from a robust and proven foundation. + software development community. By leveraging Go's features, gno.land benefits from a robust and proven foundation. 2. **User-Friendly**: Go's simplicity and ease of understanding make it beginner-friendly. This accessibility lowers the - entry barrier for developers to create Smart Contracts on the Gno.land platform. + entry barrier for developers to create Smart Contracts on the gno.land platform. ### How does it compare with Ethereum? -In comparison to Ethereum, Gno.land offers distinct advantages: +In comparison to Ethereum, gno.land offers distinct advantages: 1. **Transparent and Auditable Smart Contracts**: Gno.land Smart Contracts are fully transparent and auditable by users because the actual source code is uploaded to the blockchain. In contrast, Ethereum requires contracts to be precompiled into bytecode, leading to less transparency as bytecode is stored on the blockchain, not the - human-readable source code. Smart contracts in Gno.land can be used as libraries with a simple import statement, making - Gno.land a defacto source-code repository for the ecosystem. + human-readable source code. Smart contracts in gno.land can be used as libraries with a simple import statement, making + gno.land a defacto source-code repository for the ecosystem. 2. **General-Purpose Language**: Gno.land's Gno is a general-purpose language, similar to Go, extending its usability beyond the context of blockchain. In contrast, Solidity is designed specifically for Smart Contracts on the Ethereum platform. -## Using the Gno.land Documentation +## Using the gno.land Documentation Gno.land's documentation adopts the [Diataxis](https://diataxis.fr/) framework, ensuring structured and predictable content. It includes: -- A [Getting Started](getting-started/local-setup/local-setup.md) section, covering simple instructions on how to begin your journey into Gno.land. +- A [Getting Started](getting-started/local-setup/local-setup.md) section, covering simple instructions on how to begin your journey into gno.land. - Concise how-to guides for specific technical tasks. - Conceptual explanations, offering context and usage insights. - Detailed reference sections with implementation specifics. -- Tutorials aimed at beginners to build fundamental skills for developing in Gno.land. +- Tutorials aimed at beginners to build fundamental skills for developing in gno.land. diff --git a/docs/reference/gnoclient/gnoclient.md b/docs/reference/gnoclient/gnoclient.md index 588cc528dae..0c6c0d87308 100644 --- a/docs/reference/gnoclient/gnoclient.md +++ b/docs/reference/gnoclient/gnoclient.md @@ -30,5 +30,5 @@ To see the full reference documentation for the `gnoclient` package, we recommen visiting the [`gnoclient godoc page`](https://gnolang.github.io/gno/github.com/gnolang/gno@v0.0.0/gno.land/pkg/gnoclient.html). For a tutorial on how to use the `gnoclient` package, check out -["How to connect a Go app to Gno.land"](../../how-to-guides/connecting-from-go.md) +["How to connect a Go app to gno.land"](../../how-to-guides/connecting-from-go.md) diff --git a/examples/gno.land/r/demo/nft/README.md b/examples/gno.land/r/demo/nft/README.md index 766035b5c41..6f3b12bddf4 100644 --- a/examples/gno.land/r/demo/nft/README.md +++ b/examples/gno.land/r/demo/nft/README.md @@ -6,6 +6,6 @@ I read over EIP-721 which appears to be the de-facto NFT standard on Ethereum. T - [gno.land/r/demo/nft/nft.go](https://gno.land/r/demo/nft/nft.go) - [zrealm_nft3.go test](https://github.com/gnolang/gno/blob/master/tests/files2/zrealm_nft3.gno) -In short, this demonstrates how to implement Ethereum contract interfaces in Gno.land; by using only standard Go language features. +In short, this demonstrates how to implement Ethereum contract interfaces in gno.land; by using only standard Go language features. Please leave a comment ([guide](https://gno.land/r/demo/boards:gnolang/1)). diff --git a/examples/gno.land/r/gnoland/events/events.gno b/examples/gno.land/r/gnoland/events/events.gno index 288a7531835..9c2708a112e 100644 --- a/examples/gno.land/r/gnoland/events/events.gno +++ b/examples/gno.land/r/gnoland/events/events.gno @@ -25,7 +25,7 @@ func Render(_ string) string { func introSection() ui.Element { return ui.Element{ - ui.Paragraph("If you’re interested in building web3 with us, catch up with Gno.land in person at one of our industry events. We’re looking to connect with developers and like-minded thinkers who can contribute to the growth of our platform."), + ui.Paragraph("If you’re interested in building web3 with us, catch up with gno.land in person at one of our industry events. We’re looking to connect with developers and like-minded thinkers who can contribute to the growth of our platform."), } } diff --git a/examples/gno.land/r/gnoland/events/events_filetest.gno b/examples/gno.land/r/gnoland/events/events_filetest.gno index e67fc050d3c..46ee273414d 100644 --- a/examples/gno.land/r/gnoland/events/events_filetest.gno +++ b/examples/gno.land/r/gnoland/events/events_filetest.gno @@ -12,7 +12,7 @@ func main() { // # Gno.land Core Team Attends Industry Events & Meetups // // -// If you’re interested in building web3 with us, catch up with Gno.land in person at one of our industry events. We’re looking to connect with developers and like-minded thinkers who can contribute to the growth of our platform. +// If you’re interested in building web3 with us, catch up with gno.land in person at one of our industry events. We’re looking to connect with developers and like-minded thinkers who can contribute to the growth of our platform. // // // --- diff --git a/examples/gno.land/r/gnoland/home/home.gno b/examples/gno.land/r/gnoland/home/home.gno index 43b3a052662..072a39bd012 100644 --- a/examples/gno.land/r/gnoland/home/home.gno +++ b/examples/gno.land/r/gnoland/home/home.gno @@ -14,7 +14,7 @@ import ( func Render(_ string) string { dom := ui.DOM{Prefix: "r/gnoland/home:"} - dom.Title = "Welcome to Gno.land" + dom.Title = "Welcome to gno.land" dom.Classes = []string{"gno-tmpl-section"} // body @@ -81,9 +81,9 @@ func upcomingEvents(limit int) ui.Element { func introSection() ui.Element { return ui.Element{ - ui.H3("We’re building Gno.land, the first open-source smart contract system, using Gno, an interpreted and fully deterministic variation of the Go programming language for succinct and composable smart contracts."), - ui.Paragraph("With transparent and timeless code, Gno.land is the next generation of smart contract platforms, serving as the “GitHub” of the ecosystem, with realms built using fully transparent, auditable code that anyone can inspect and reuse."), - ui.Paragraph("Intuitive and easy to use, Gno.land lowers the barrier to web3 and makes censorship-resistant platforms accessible to everyone. If you want to help lay the foundations of a fairer and freer world, join us today."), + ui.H3("We’re building gno.land, the first open-source smart contract system, using Gno, an interpreted and fully deterministic variation of the Go programming language for succinct and composable smart contracts."), + ui.Paragraph("With transparent and timeless code, gno.land is the next generation of smart contract platforms, serving as the “GitHub” of the ecosystem, with realms built using fully transparent, auditable code that anyone can inspect and reuse."), + ui.Paragraph("Intuitive and easy to use, gno.land lowers the barrier to web3 and makes censorship-resistant platforms accessible to everyone. If you want to help lay the foundations of a fairer and freer world, join us today."), } } @@ -157,7 +157,7 @@ func playgroundSection() ui.Element { ui.H3("[Gno Playground](https://play.gno.land)"), ui.Paragraph(`Gno Playground is a web application designed for building, running, testing, and interacting with your Gno code, enhancing your understanding of the Gno language. With Gno Playground, you can share your code, -execute tests, deploy your realms and packages to Gno.land, and explore a multitude of other features.`), +execute tests, deploy your realms and packages to gno.land, and explore a multitude of other features.`), ui.Paragraph("Experience the convenience of code sharing and rapid experimentation with [Gno Playground](https://play.gno.land)."), } } @@ -226,7 +226,7 @@ func discoverLinks() ui.Element { ui.Text(`
-### Learn about Gno.land +### Learn about gno.land - [About](/about) - [GitHub](https://github.com/gnolang) diff --git a/examples/gno.land/r/gnoland/home/home_filetest.gno b/examples/gno.land/r/gnoland/home/home_filetest.gno index 2f2ac26f2fe..2028a02c913 100644 --- a/examples/gno.land/r/gnoland/home/home_filetest.gno +++ b/examples/gno.land/r/gnoland/home/home_filetest.gno @@ -9,22 +9,22 @@ func main() { // Output: //
// -// # Welcome to Gno.land +// # Welcome to gno.land // -// ### We’re building Gno.land, the first open-source smart contract system, using Gno, an interpreted and fully deterministic variation of the Go programming language for succinct and composable smart contracts. +// ### We’re building gno.land, the first open-source smart contract system, using Gno, an interpreted and fully deterministic variation of the Go programming language for succinct and composable smart contracts. // // -// With transparent and timeless code, Gno.land is the next generation of smart contract platforms, serving as the “GitHub” of the ecosystem, with realms built using fully transparent, auditable code that anyone can inspect and reuse. +// With transparent and timeless code, gno.land is the next generation of smart contract platforms, serving as the “GitHub” of the ecosystem, with realms built using fully transparent, auditable code that anyone can inspect and reuse. // // -// Intuitive and easy to use, Gno.land lowers the barrier to web3 and makes censorship-resistant platforms accessible to everyone. If you want to help lay the foundations of a fairer and freer world, join us today. +// Intuitive and easy to use, gno.land lowers the barrier to web3 and makes censorship-resistant platforms accessible to everyone. If you want to help lay the foundations of a fairer and freer world, join us today. // //
// //
//
// -// ### Learn about Gno.land +// ### Learn about gno.land // // - [About](/about) // - [GitHub](https://github.com/gnolang) @@ -93,7 +93,7 @@ func main() { // // Gno Playground is a web application designed for building, running, testing, and interacting // with your Gno code, enhancing your understanding of the Gno language. With Gno Playground, you can share your code, -// execute tests, deploy your realms and packages to Gno.land, and explore a multitude of other features. +// execute tests, deploy your realms and packages to gno.land, and explore a multitude of other features. // // // Experience the convenience of code sharing and rapid experimentation with [Gno Playground](https://play.gno.land). diff --git a/examples/gno.land/r/gnoland/pages/page_about.gno b/examples/gno.land/r/gnoland/pages/page_about.gno index dbe269044de..6b1f5a6c556 100644 --- a/examples/gno.land/r/gnoland/pages/page_about.gno +++ b/examples/gno.land/r/gnoland/pages/page_about.gno @@ -3,26 +3,26 @@ package gnopages func init() { path := "about" title := "Gno.land Is A Platform To Write Smart Contracts In Gno" - // XXX: description := "On Gno.land, developers write smart contracts and other blockchain apps using Gno without learning a language that’s exclusive to a single ecosystem." + // XXX: description := "On gno.land, developers write smart contracts and other blockchain apps using Gno without learning a language that’s exclusive to a single ecosystem." body := ` Gno.land is a next-generation smart contract platform using Gno, an interpreted version of the general-purpose Go -programming language. On Gno.land, smart contracts can be uploaded on-chain only by publishing their full source code, +programming language. On gno.land, smart contracts can be uploaded on-chain only by publishing their full source code, making it trivial to verify the contract or fork it into an improved version. With a system to publish reusable code -libraries on-chain, Gno.land serves as the “GitHub” of the ecosystem, with realms built using fully transparent, +libraries on-chain, gno.land serves as the “GitHub” of the ecosystem, with realms built using fully transparent, auditable code that anyone can inspect and reuse. Gno.land addresses many pressing issues in the blockchain space, starting with the ease of use and intuitiveness of smart contract platforms. Developers can write smart contracts without having to learn a new language that’s exclusive -to a single ecosystem or limited by design. Go developers can easily port their existing web apps to Gno.land or build +to a single ecosystem or limited by design. Go developers can easily port their existing web apps to gno.land or build new ones from scratch, making web3 vastly more accessible. -Secured by Proof of Contribution (PoC), a DAO-managed Proof-of-Authority consensus mechanism, Gno.land prioritizes +Secured by Proof of Contribution (PoC), a DAO-managed Proof-of-Authority consensus mechanism, gno.land prioritizes fairness and merit, rewarding the people most active on the platform. PoC restructures the financial incentives that often corrupt blockchain projects, opting instead to reward contributors for their work based on expertise, commitment, and alignment. -One of our inspirations for Gno.land is the gospels, which built a system of moral code that lasted thousands of years. -By observing a minimal production implementation, Gno.land’s design will endure over time and serve as a reference for +One of our inspirations for gno.land is the gospels, which built a system of moral code that lasted thousands of years. +By observing a minimal production implementation, gno.land’s design will endure over time and serve as a reference for future generations with censorship-resistant tools that improve their understanding of the world. ` _ = b.NewPost("", path, title, body, "2022-05-20T13:17:22Z", nil, nil) diff --git a/examples/gno.land/r/gnoland/pages/page_ecosystem.gno b/examples/gno.land/r/gnoland/pages/page_ecosystem.gno index d4a9e7ae96e..e1a540c98a5 100644 --- a/examples/gno.land/r/gnoland/pages/page_ecosystem.gno +++ b/examples/gno.land/r/gnoland/pages/page_ecosystem.gno @@ -4,7 +4,7 @@ func init() { var ( path = "ecosystem" title = "Discover Gno.land Ecosystem Projects & Initiatives" - // XXX: description = "Dive further into the Gno.land ecosystem and discover the core infrastructure, projects, smart contracts, and tooling we’re building." + // XXX: description = "Dive further into the gno.land ecosystem and discover the core infrastructure, projects, smart contracts, and tooling we’re building." body = ` ### [Gno Playground](https://play.gno.land) @@ -16,21 +16,21 @@ Visit the playground at [play.gno.land](https://play.gno.land)! ### [Gnoscan](https://gnoscan.io) -Developed by the Onbloc team, Gnoscan is Gno.land’s blockchain explorer. Anyone can use Gnoscan to easily find -information that resides on the Gno.land blockchain, such as wallet addresses, TX hashes, blocks, and contracts. +Developed by the Onbloc team, Gnoscan is gno.land’s blockchain explorer. Anyone can use Gnoscan to easily find +information that resides on the gno.land blockchain, such as wallet addresses, TX hashes, blocks, and contracts. Gnoscan makes our on-chain data easy to read and intuitive to discover. -Explore the Gno.land blockchain at [gnoscan.io](https://gnoscan.io)! +Explore the gno.land blockchain at [gnoscan.io](https://gnoscan.io)! ### Adena -Adena is a user-friendly non-custodial wallet for Gno.land. Open-source and developed by Onbloc, Adena allows gnomes to +Adena is a user-friendly non-custodial wallet for gno.land. Open-source and developed by Onbloc, Adena allows gnomes to interact easily with the chain. With an emphasis on UX, Adena is built to handle millions of realms and tokens with a high-quality interface, support for NFTs and custom tokens, and seamless integration. ### Gnoswap -Gnoswap is currently under development and led by the Onbloc team. Gnoswap will be the first DEX on Gno.land and is an +Gnoswap is currently under development and led by the Onbloc team. Gnoswap will be the first DEX on gno.land and is an automated market maker (AMM) protocol written in Gno that allows for permissionless token exchanges on the platform. ### Flippando diff --git a/examples/gno.land/r/gnoland/pages/page_gnolang.gno b/examples/gno.land/r/gnoland/pages/page_gnolang.gno index 00c8d67fa54..13fc4072b1a 100644 --- a/examples/gno.land/r/gnoland/pages/page_gnolang.gno +++ b/examples/gno.land/r/gnoland/pages/page_gnolang.gno @@ -15,7 +15,7 @@ Under the hood, the Gno code is parsed into an abstract syntax tree (AST) and th ![Gno and Go differences](static/img/gno-language/go-and-gno.jpg) -The composable nature of Go/Gno allows for type-checked interactions between contracts, making Gno.land safer and more powerful, as well as operationally cheaper and faster. Smart contracts on Gno.land are light, simple, more focused, and easily interoperable—a network of interconnected contracts rather than siloed monoliths that limit interactions with other contracts. +The composable nature of Go/Gno allows for type-checked interactions between contracts, making gno.land safer and more powerful, as well as operationally cheaper and faster. Smart contracts on gno.land are light, simple, more focused, and easily interoperable—a network of interconnected contracts rather than siloed monoliths that limit interactions with other contracts. ![Example of Gno code](static/img/gno-language/code-example.jpg) diff --git a/examples/gno.land/r/gnoland/pages/page_gor.gno b/examples/gno.land/r/gnoland/pages/page_gor.gno index fbe9089476f..d46e9cb0ccc 100644 --- a/examples/gno.land/r/gnoland/pages/page_gor.gno +++ b/examples/gno.land/r/gnoland/pages/page_gor.gno @@ -3,14 +3,14 @@ package gnopages func init() { path := "gor" title := "Game of Realms - A Contest For The Best Contributors" - // XXX: description := "Game of Realms is the first high-stakes competition held in two phases to find the best contributors to the Gno.land platform with a 133,700 ATOM prize pool." + // XXX: description := "Game of Realms is the first high-stakes competition held in two phases to find the best contributors to the gno.land platform with a 133,700 ATOM prize pool." body := `
### Game of Realms -The first high-stakes contest will see participants compete for tiered membership to co-own the Gno.land blockchain. A series of complex technical and non-technical tasks will challenge contributors to create innovative patterns that push the chain to new limits. Start building the foundation for tomorrow through key smart contracts and other contributions that change our understanding of the world. +The first high-stakes contest will see participants compete for tiered membership to co-own the gno.land blockchain. A series of complex technical and non-technical tasks will challenge contributors to create innovative patterns that push the chain to new limits. Start building the foundation for tomorrow through key smart contracts and other contributions that change our understanding of the world.
@@ -18,7 +18,7 @@ The competition is currently in phase one – for advanced developers only. Once the necessary tools to start phase two are ready, we’ll open up the competition to newer devs and non-technical contributors. -If you want to stack ATOM rewards and play a key role in the success of Gno.land and web3, read more about Game of Realms or open a [PR](https://github.com/gnolang/gno/) today. +If you want to stack ATOM rewards and play a key role in the success of gno.land and web3, read more about Game of Realms or open a [PR](https://github.com/gnolang/gno/) today.
@@ -49,7 +49,7 @@ If you want to stack ATOM rewards and play a key role in the success of Gno.land ## Evaluation DAO -This complex challenge seeks your skills in DAO development and implementation and is one of the most important challenges of phase one. The Evaluation DAO will ensure that contributions in Game of Realms and the Gno.land platform are fairly rewarded. +This complex challenge seeks your skills in DAO development and implementation and is one of the most important challenges of phase one. The Evaluation DAO will ensure that contributions in Game of Realms and the gno.land platform are fairly rewarded.
@@ -101,7 +101,7 @@ See [GitHub issue 519](https://github.com/gnolang/gno/issues/519) for the most u ## Tutorials -To progress to phase two of the competition, we need high-quality tutorials, guides, and documentation from phase one participants. Help to create materials that will onboard more contributors to Gno.land. +To progress to phase two of the competition, we need high-quality tutorials, guides, and documentation from phase one participants. Help to create materials that will onboard more contributors to gno.land.
@@ -122,7 +122,7 @@ How to create, present, and house the tutorials has been established with produc diff --git a/examples/gno.land/r/gnoland/pages/page_partners.gno b/examples/gno.land/r/gnoland/pages/page_partners.gno index 74e45b8119f..e60802fef63 100644 --- a/examples/gno.land/r/gnoland/pages/page_partners.gno +++ b/examples/gno.land/r/gnoland/pages/page_partners.gno @@ -6,7 +6,7 @@ func init() { body := `### Fund and Grants Program Are you a builder, tinkerer, or researcher? If you’re looking to create awesome dApps, tooling, infrastructure, -or smart contract libraries on Gno.land, you can apply for a grant. The Gno.land Ecosystem Fund and Grants program +or smart contract libraries on gno.land, you can apply for a grant. The gno.land Ecosystem Fund and Grants program provides financial contributions for individuals and teams to innovate on the platform. Read more about our Funds and Grants program [here](https://github.com/gnolang/ecosystem-fund-grants). diff --git a/gno.land/README.md b/gno.land/README.md index 5fdd95a84ad..7da2a8574de 100644 --- a/gno.land/README.md +++ b/gno.land/README.md @@ -4,7 +4,7 @@ Gno.land is a layer-1 blockchain that integrates various cutting-edge technologi ## Getting started -Use [`gnokey`](./cmd/gnokey) to interact with Gno.land's testnets, localnet, and upcoming mainnet. +Use [`gnokey`](./cmd/gnokey) to interact with gno.land's testnets, localnet, and upcoming mainnet. For localnet setup, use [`gnoland`](./cmd/gnoland). @@ -14,7 +14,7 @@ To add a web interface and faucet to your localnet, use [`gnoweb`](./cmd/gnoweb) Gno.land aims to offer security, high-quality contract libraries, and scalability to other Gnolang chains, while also prioritizing interoperability with existing and emerging chains. -Post mainnet launch, Gno.land aims to integrate IBCv1 to connect with existing Cosmos chains and implement ICS1 for security through the existing chains. +Post mainnet launch, gno.land aims to integrate IBCv1 to connect with existing Cosmos chains and implement ICS1 for security through the existing chains. Afterwards, the platform plans to improve IBC by adding new capabilities for interchain smart-contracts. ## Under the hood diff --git a/gno.land/genesis/genesis_txs.jsonl b/gno.land/genesis/genesis_txs.jsonl index 3e9db62df46..278055711b0 100644 --- a/gno.land/genesis/genesis_txs.jsonl +++ b/gno.land/genesis/genesis_txs.jsonl @@ -9,7 +9,7 @@ {"msg":[{"@type":"/vm.m_call","caller":"g15gdm49ktawvkrl88jadqpucng37yxutucuwaef","send":"2000000000ugnot","pkg_path":"gno.land/r/demo/users","func":"Register","args":["","ideamour","\u003c3"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AhClx4AsDuX3DNCPxhDwWnrfd4MIZmxJE4vt47ClVvT2"},"signature":"IQe64af878k6HjLDqIJeg27GXAVF6xS+96cDe2jMlxNV6+8sOcuUctp0GiWVnYfN4tpthC6d4WhBo+VlpHqkbg=="}],"memo":""} {"msg":[{"@type":"/vm.m_call","caller":"g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateBoard","args":["testboard"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+FhNtsXHjLfSJk1lB8FbiL4mGPjc50Kt81J7EKDnJ2y"},"signature":"vzlSxEFh5jOkaSdv3rsV91v/OJKEF2qSuoCpri1u5tRWq62T7xr3KHRCF5qFnn4aQX/yE8g8f/Y//WPOCUGhJw=="}],"memo":""} {"msg":[{"@type":"/vm.m_call","caller":"g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateThread","args":["1","Hello World","This is a demo of Gno smart contract programming. This document was\nconstructed by Gno onto a smart contract hosted on the data Realm \nname [\"gno.land/r/demo/boards\"](https://gno.land/r/demo/boards/)\n([github](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/demo/boards)).\n\n## Starting the `gnoland` node node/validator.\n\nNOTE: Where you see `--remote %%REMOTE%%` here, that flag can be replaced\nwith `--remote localhost:26657` for local testnets.\n\n### build gnoland.\n\n```bash\ngit clone git@github.com:gnolang/gno.git\ncd ./gno\nmake \n```\n\n### add test account.\n\n```bash\n./build/gnokey add test1 --recover\n```\n\nUse this mnemonic:\n\u003e source bonus chronic canvas draft south burst lottery vacant surface solve popular case indicate oppose farm nothing bullet exhibit title speed wink action roast\n\n### start gnoland validator node.\n\n```bash\n./build/gnoland\n```\n\n(This can be reset with `make reset`).\n\n### start gnoland web server (optional).\n\n```bash\ngo run ./gnoland/website\n```\n\n## Signing and broadcasting transactions.\n\n### publish the \"gno.land/p/demo/avl\" package.\n\n```bash\n./build/gnokey maketx addpkg test1 --pkgpath \"gno.land/p/demo/avl\" --pkgdir \"examples/gno.land/p/demo/avl\" --deposit 100ugnot --gas-fee 1ugnot --gas-wanted 2000000 \u003e addpkg.avl.unsigned.txt\n./build/gnokey query \"auth/accounts/g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5\"\n./build/gnokey sign test1 --txpath addpkg.avl.unsigned.txt --chainid \"%%CHAINID%%\" --number 0 --sequence 0 \u003e addpkg.avl.signed.txt\n./build/gnokey broadcast addpkg.avl.signed.txt --remote %%REMOTE%%\n```\n\n### publish the \"gno.land/r/demo/boards\" realm package.\n\n```bash\n./build/gnokey maketx addpkg test1 --pkgpath \"gno.land/r/demo/boards\" --pkgdir \"examples/gno.land/r/demo/boards\" --deposit 100ugnot --gas-fee 1ugnot --gas-wanted 300000000 \u003e addpkg.boards.unsigned.txt\n./build/gnokey sign test1 --txpath addpkg.boards.unsigned.txt --chainid \"%%CHAINID%%\" --number 0 --sequence 1 \u003e addpkg.boards.signed.txt\n./build/gnokey broadcast addpkg.boards.signed.txt --remote %%REMOTE%%\n```\n\n### create a board with a smart contract call.\n\n```bash\n./build/gnokey maketx call test1 --pkgpath \"gno.land/r/demo/boards\" --func CreateBoard --args \"testboard\" --gas-fee 1ugnot --gas-wanted 2000000 \u003e createboard.unsigned.txt\n./build/gnokey sign test1 --txpath createboard.unsigned.txt --chainid \"%%CHAINID%%\" --number 0 --sequence 2 \u003e createboard.signed.txt\n./build/gnokey broadcast createboard.signed.txt --remote %%REMOTE%%\n```\nNext, query for the permanent board ID by querying (you need this to create a new post):\n\n```bash\n./build/gnokey query \"vm/qeval\" --data \"gno.land/r/demo/boards.GetBoardIDFromName(\\\"testboard\\\")\"\n```\n\n### create a post of a board with a smart contract call.\n\n```bash\n./build/gnokey maketx call test1 --pkgpath \"gno.land/r/demo/boards\" --func CreatePost --args 1 --args \"Hello World\" --args#file \"./examples/gno.land/r/demo/boards/README.md\" --gas-fee 1ugnot --gas-wanted 2000000 \u003e createpost.unsigned.txt\n./build/gnokey sign test1 --txpath createpost.unsigned.txt --chainid \"%%CHAINID%%\" --number 0 --sequence 3 \u003e createpost.signed.txt\n./build/gnokey broadcast createpost.signed.txt --remote %%REMOTE%%\n```\n\n### create a comment to a post.\n\n```bash\n./build/gnokey maketx call test1 --pkgpath \"gno.land/r/demo/boards\" --func CreateReply --args 1 --args 1 --args \"A comment\" --gas-fee 1ugnot --gas-wanted 2000000 \u003e createcomment.unsigned.txt\n./build/gnokey sign test1 --txpath createcomment.unsigned.txt --chainid \"%%CHAINID%%\" --number 0 --sequence 4 \u003e createcomment.signed.txt\n./build/gnokey broadcast createcomment.signed.txt --remote %%REMOTE%%\n```\n\n```bash\n./build/gnokey query \"vm/qrender\" --data \"gno.land/r/demo/boards:testboard/1\"\n```\n\n### render page with optional path expression.\n\nThe contents of `https://gno.land/r/demo/boards:` and `https://gno.land/r/demo/boards:testboard` are rendered by calling\nthe `Render(path string)` function like so:\n\n```bash\n./build/gnokey query \"vm/qrender\" --data \"gno.land/r/demo/boards:testboard\"\n```\n"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+FhNtsXHjLfSJk1lB8FbiL4mGPjc50Kt81J7EKDnJ2y"},"signature":"V43B1waFxhzheW9TfmCpjLdrC4dC1yjUGES5y3J6QsNar6hRpNz4G1thzWmWK7xXhg8u1PCIpxLxGczKQYhuPw=="}],"memo":""} -{"msg":[{"@type":"/vm.m_call","caller":"g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateThread","args":["1","NFT example","NFT's are all the rage these days, for various reasons.\n\nI read over EIP-721 which appears to be the de-facto NFT standard on Ethereum. Then, made a sample implementation of EIP-721 (let's here called GRC-721). The implementation isn't complete, but it demonstrates the main functionality.\n\n - [EIP-721](https://eips.ethereum.org/EIPS/eip-721)\n - [gno.land/r/demo/nft/nft.gno](https://gno.land/r/demo/nft/nft.gno)\n - [zrealm_nft3.gno test](https://github.com/gnolang/gno/blob/master/examples/gno.land/r/demo/nft/z_3_filetest.gno)\n\nIn short, this demonstrates how to implement Ethereum contract interfaces in Gno.land; by using only standard Go language features.\n\nPlease leave a comment ([guide](https://gno.land/r/demo/boards:testboard/1)).\n"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+FhNtsXHjLfSJk1lB8FbiL4mGPjc50Kt81J7EKDnJ2y"},"signature":"ZXfrTiHxPFQL8uSm+Tv7WXIHPMca9okhm94RAlC6YgNbB1VHQYYpoP4w+cnL3YskVzGrOZxensXa9CAZ+cNNeg=="}],"memo":""} +{"msg":[{"@type":"/vm.m_call","caller":"g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateThread","args":["1","NFT example","NFT's are all the rage these days, for various reasons.\n\nI read over EIP-721 which appears to be the de-facto NFT standard on Ethereum. Then, made a sample implementation of EIP-721 (let's here called GRC-721). The implementation isn't complete, but it demonstrates the main functionality.\n\n - [EIP-721](https://eips.ethereum.org/EIPS/eip-721)\n - [gno.land/r/demo/nft/nft.gno](https://gno.land/r/demo/nft/nft.gno)\n - [zrealm_nft3.gno test](https://github.com/gnolang/gno/blob/master/examples/gno.land/r/demo/nft/z_3_filetest.gno)\n\nIn short, this demonstrates how to implement Ethereum contract interfaces in gno.land; by using only standard Go language features.\n\nPlease leave a comment ([guide](https://gno.land/r/demo/boards:testboard/1)).\n"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+FhNtsXHjLfSJk1lB8FbiL4mGPjc50Kt81J7EKDnJ2y"},"signature":"ZXfrTiHxPFQL8uSm+Tv7WXIHPMca9okhm94RAlC6YgNbB1VHQYYpoP4w+cnL3YskVzGrOZxensXa9CAZ+cNNeg=="}],"memo":""} {"msg":[{"@type":"/vm.m_call","caller":"g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateThread","args":["1","Simple echo example with coins","This is a simple test realm contract that demonstrates how to use the banker.\n\nSee [gno.land/r/demo/banktest/banktest.gno](/r/demo/banktest/banktest.gno) to see the original contract code.\n\nThis article will go through each line to explain how it works.\n\n```go\npackage banktest\n```\n\nThis package is locally named \"banktest\" (could be anything).\n\n```go\nimport (\n\t\"std\"\n)\n```\n\nThe \"std\" package is defined by the gno code in stdlibs/std/. \u003c/br\u003e\nSelf explanatory; and you'll see more usage from std later.\n\n```go\ntype activity struct {\n\tcaller std.Address\n\tsent std.Coins\n\treturned std.Coins\n\ttime std.Time\n}\n\nfunc (act *activity) String() string {\n\treturn act.caller.String() + \" \" +\n\t\tact.sent.String() + \" sent, \" +\n\t\tact.returned.String() + \" returned, at \" +\n\t\tstd.FormatTimestamp(act.time, \"2006-01-02 3:04pm MST\")\n}\n\nvar latest [10]*activity\n```\n\nThis is just maintaining a list of recent activity to this contract.\nNotice that the \"latest\" variable is defined \"globally\" within\nthe context of the realm with path \"gno.land/r/demo/banktest\".\n\nThis means that calls to functions defined within this package\nare encapsulated within this \"data realm\", where the data is \nmutated based on transactions that can potentially cross many\nrealm and non-realm packge boundaries (in the call stack).\n\n```go\n// Deposit will take the coins (to the realm's pkgaddr) or return them to user.\nfunc Deposit(returnDenom string, returnAmount int64) string {\n\tstd.AssertOriginCall()\n\tcaller := std.GetOrigCaller()\n\tsend := std.Coins{{returnDenom, returnAmount}}\n```\n\nThis is the beginning of the definition of the contract function named\n\"Deposit\". `std.AssertOriginCall() asserts that this function was called by a\ngno transactional Message. The caller is the user who signed off on this\ntransactional message. Send is the amount of deposit sent along with this\nmessage.\n\n```go\n\t// record activity\n\tact := \u0026activity{\n\t\tcaller: caller,\n\t\tsent: std.GetOrigSend(),\n\t\treturned: send,\n\t\ttime: std.GetTimestamp(),\n\t}\n\tfor i := len(latest) - 2; i \u003e= 0; i-- {\n\t\tlatest[i+1] = latest[i] // shift by +1.\n\t}\n\tlatest[0] = act\n```\n\nUpdating the \"latest\" array for viewing at gno.land/r/demo/banktest: (w/ trailing colon).\n\n```go\n\t// return if any.\n\tif returnAmount \u003e 0 {\n```\n\nIf the user requested the return of coins...\n\n```go\n\t\tbanker := std.GetBanker(std.BankerTypeOrigSend)\n```\n\nuse a std.Banker instance to return any deposited coins to the original sender.\n\n```go\n\t\tpkgaddr := std.GetOrigPkgAddr()\n\t\t// TODO: use std.Coins constructors, this isn't generally safe.\n\t\tbanker.SendCoins(pkgaddr, caller, send)\n\t\treturn \"returned!\"\n```\n\nNotice that each realm package has an associated Cosmos address.\n\n\nFinally, the results are rendered via an ABCI query call when you visit [/r/demo/banktest:](/r/demo/banktest:).\n\n```go\nfunc Render(path string) string {\n\t// get realm coins.\n\tbanker := std.GetBanker(std.BankerTypeReadonly)\n\tcoins := banker.GetCoins(std.GetOrigPkgAddr())\n\n\t// render\n\tres := \"\"\n\tres += \"## recent activity\\n\"\n\tres += \"\\n\"\n\tfor _, act := range latest {\n\t\tif act == nil {\n\t\t\tbreak\n\t\t}\n\t\tres += \" * \" + act.String() + \"\\n\"\n\t}\n\tres += \"\\n\"\n\tres += \"## total deposits\\n\"\n\tres += coins.String()\n\treturn res\n}\n```\n\nYou can call this contract yourself, by vistiing [/r/demo/banktest](/r/demo/banktest) and the [quickstart guide](/r/demo/boards:testboard/4).\n"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+FhNtsXHjLfSJk1lB8FbiL4mGPjc50Kt81J7EKDnJ2y"},"signature":"iZX/llZlNTdZMLv1goCTgK2bWqzT8enlTq56wMTCpVxJGA0BTvuEM5Nnt9vrnlG6Taqj2GuTrmEnJBkDFTmt9g=="}],"memo":""} {"msg":[{"@type":"/vm.m_call","caller":"g1us8428u2a5satrlxzagqqa5m6vmuze025anjlj","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateThread","args":["1","TASK: Describe in your words","Describe in an essay (250+ words), on your favorite medium, why you are interested in gno.land and gnolang.\n\nReply here with a URL link to your written piece as a comment, for rewards.\n"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AmG6kzznyo1uNqWPAYU6wDpsmzQKDaEOrVRaZ08vOyX0"},"signature":"4HBNtrta8HdeHj4JTN56PBTRK8GOe31NMRRXDiyYtjozuyRdWfOGEsGjGgHWcoBUJq6DepBgD4FetdqfhZ6TNQ=="}],"memo":""} {"msg":[{"@type":"/vm.m_call","caller":"g1u7y667z64x2h7vc6fmpcprgey4ck233jaww9zq","send":"","pkg_path":"gno.land/r/demo/boards","func":"CreateThread","args":["1","Getting Started","This is a demo of Gno smart contract programming. This document was\nconstructed by Gno onto a smart contract hosted on the data Realm\nname [\"gno.land/r/demo/boards\"](https://gno.land/r/demo/boards/)\n([github](https://github.com/gnolang/gno/tree/master/examples/gno.land/r/demo/boards)).\n\n\n\n## Build `gnokey`, create your account, and interact with Gno.\n\nNOTE: Where you see `--remote %%REMOTE%%` here, that flag can be replaced\nwith `--remote localhost:26657` for local testnets.\n\n### Build `gnokey`.\n\n```bash\ngit clone git@github.com:gnolang/gno.git\ncd ./gno\nmake\n```\n\n### Generate a seed/mnemonic code.\n\n```bash\n./build/gnokey generate\n```\n\nNOTE: You can generate 24 words with any good bip39 generator.\n\n### Create a new account using your mnemonic.\n\n```bash\n./build/gnokey add KEYNAME --recover\n```\n\nNOTE: `KEYNAME` is your key identifier, and should be changed.\n\n### Verify that you can see your account locally.\n\n```bash\n./build/gnokey list\n```\n\n## Interact with the blockchain:\n\n### Get your current balance, account number, and sequence number.\n\n```bash\n./build/gnokey query auth/accounts/ACCOUNT_ADDR --remote %%REMOTE%%\n```\n\nNOTE: you can retrieve your `ACCOUNT_ADDR` with `./build/gnokey list`.\n\n### Acquire testnet tokens using the official faucet.\n\nGo to https://gno.land/faucet\n\n### Create a board with a smart contract call.\n\nNOTE: `BOARDNAME` will be the slug of the board, and should be changed.\n\n```bash\n./build/gnokey maketx call KEYNAME --pkgpath \"gno.land/r/demo/boards\" --func \"CreateBoard\" --args \"BOARDNAME\" --gas-fee \"1000000ugnot\" --gas-wanted \"2000000\" --broadcast=true --chainid %%CHAINID%% --remote %%REMOTE%%\n```\n\nInteractive documentation: https://gno.land/r/demo/boards?help\u0026__func=CreateBoard\n\nNext, query for the permanent board ID by querying (you need this to create a new post):\n\n```bash\n./build/gnokey query \"vm/qeval\" --data \"gno.land/r/demo/boards.GetBoardIDFromName(\\\"BOARDNAME\\\")\" --remote %%REMOTE%%\n```\n\n### Create a post of a board with a smart contract call.\n\nNOTE: If a board was created successfully, your SEQUENCE_NUMBER would have increased.\n\n```bash\n./build/gnokey maketx call KEYNAME --pkgpath \"gno.land/r/demo/boards\" --func \"CreateThread\" --args BOARD_ID --args \"Hello gno.land\" --args\\#file \"./examples/gno.land/r/demo/boards/example_post.md\" --gas-fee 1000000ugnot --gas-wanted 2000000 --broadcast=true --chainid %%CHAINID%% --remote %%REMOTE%%\n```\n\nInteractive documentation: https://gno.land/r/demo/boards?help\u0026__func=CreateThread\n\n### Create a comment to a post.\n\n```bash\n./build/gnokey maketx call KEYNAME --pkgpath \"gno.land/r/demo/boards\" --func \"CreateReply\" --args \"BOARD_ID\" --args \"1\" --args \"1\" --args \"Nice to meet you too.\" --gas-fee 1000000ugnot --gas-wanted 2000000 --broadcast=true --chainid %%CHAINID%% --remote %%REMOTE%%\n```\n\nInteractive documentation: https://gno.land/r/demo/boards?help\u0026__func=CreateReply\n\n```bash\n./build/gnokey query \"vm/qrender\" --data \"gno.land/r/demo/boards:BOARDNAME/1\" --remote %%REMOTE%%\n```\n\n### Render page with optional path expression.\n\nThe contents of `https://gno.land/r/demo/boards:` and `https://gno.land/r/demo/boards:gnolang` are rendered by calling\nthe `Render(path string)` function like so:\n\n```bash\n./build/gnokey query \"vm/qrender\" --data \"gno.land/r/demo/boards:gnolang\"\n```\n\n## Starting a local `gnoland` node:\n\n### Add test account.\n\n```bash\n./build/gnokey add test1 --recover\n```\n\nUse this mneonic:\n\u003e source bonus chronic canvas draft south burst lottery vacant surface solve popular case indicate oppose farm nothing bullet exhibit title speed wink action roast\n\n### Start `gnoland` node.\n\n```bash\n./build/gnoland\n```\n\nNOTE: This can be reset with `make reset`\n\n### Publish the \"gno.land/p/demo/avl\" package.\n\n```bash\n./build/gnokey maketx addpkg test1 --pkgpath \"gno.land/p/demo/avl\" --pkgdir \"examples/gno.land/p/demo/avl\" --deposit 100000000ugnot --gas-fee 1000000ugnot --gas-wanted 2000000 --broadcast=true --chainid %%CHAINID%% --remote localhost:26657\n```\n\n### Publish the \"gno.land/r/demo/boards\" realm package.\n\n```bash\n./build/gnokey maketx addpkg test1 --pkgpath \"gno.land/r/demo/boards\" --pkgdir \"examples/gno.land/r/demo/boards\" --deposit 100000000ugnot --gas-fee 1000000ugnot --gas-wanted 300000000 --broadcast=true --chainid %%CHAINID%% --remote localhost:26657\n```\n"]}],"fee":{"gas_wanted":"2000000","gas_fee":"1000000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AnK+a6mcFDjY6b/v6p7r8QFW1M1PgIoQxBgrwOoyY7v3"},"signature":"sHjOGXZEi9wt2FSXFHmkDDoVQyepvFHKRDDU0zgedHYnCYPx5/YndyihsDD5Y2Z7/RgNYBh4JlJwDMGFNStzBQ=="}],"memo":""} diff --git a/gno.land/pkg/gnoclient/README.md b/gno.land/pkg/gnoclient/README.md index 453801b1b62..a2f00895dbd 100644 --- a/gno.land/pkg/gnoclient/README.md +++ b/gno.land/pkg/gnoclient/README.md @@ -1,7 +1,7 @@ # Gno.land Go Client -The Gno.land Go client is a dedicated library for interacting seamlessly with the Gno.land RPC API. -This library simplifies the process of querying or sending transactions to the Gno.land RPC API and interpreting the responses. +The gno.land Go client is a dedicated library for interacting seamlessly with the gno.land RPC API. +This library simplifies the process of querying or sending transactions to the gno.land RPC API and interpreting the responses. Documentation may be found at [gnoclient](../../../docs/reference/gnoclient). @@ -13,9 +13,9 @@ Integrate this library into your Go project with the following command: ## Development Plan -The roadmap for the Gno.land Go client includes: +The roadmap for the gno.land Go client includes: -- **Initial Development:** Kickstart the development specifically for Gno.land. Subsequently, transition the generic functionalities to other modules like `tm2`, `gnovm`, `gnosdk`. +- **Initial Development:** Kickstart the development specifically for gno.land. Subsequently, transition the generic functionalities to other modules like `tm2`, `gnovm`, `gnosdk`. - **Integration:** Begin incorporating this library within various components such as `gno.land/cmd/*` and other external clients, including `gnoblog-client`, the Discord community faucet bot, and [GnoMobile](https://github.com/gnolang/gnomobile). - **Enhancements:** Once the generic client establishes a robust foundation, we aim to utilize code generation for contracts. This will streamline the creation of type-safe, contract-specific clients. diff --git a/gno.land/pkg/gnoweb/static/font/README.md b/gno.land/pkg/gnoweb/static/font/README.md index 5c840f92f74..a077b97d304 100644 --- a/gno.land/pkg/gnoweb/static/font/README.md +++ b/gno.land/pkg/gnoweb/static/font/README.md @@ -1,5 +1,5 @@ # FONTS -This is the source repository for Gno.land fonts: Roboto. Both are Open source and available from Google Fonts. +This is the source repository for gno.land fonts: Roboto. Both are Open source and available from Google Fonts. - RobotoMono: Apache 2.0 — [https://fonts.google.com/specimen/Roboto+Mono/about](https://fonts.google.com/specimen/Roboto+Mono/about) diff --git a/gno.land/pkg/gnoweb/views/faucet.html b/gno.land/pkg/gnoweb/views/faucet.html index 0c686367fa4..1c9ca1de53c 100644 --- a/gno.land/pkg/gnoweb/views/faucet.html +++ b/gno.land/pkg/gnoweb/views/faucet.html @@ -9,7 +9,7 @@
- This is the Gno.land (test) {{ if .Data.Config.CaptchaSite }} + This is the gno.land (test) {{ if .Data.Config.CaptchaSite }} {{ end }}