Skip to content

Gnoland Cheatsheet for an easy onboarding on how to interact with gnoland.

Notifications You must be signed in to change notification settings

slashbinslashnoname/gnoland_cheatsheet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Gnoland Cheatsheet

Github : github.com/slashbinslashnoname/gnoland_cheatsheet

You need gnokey to make queries ./gnokey query and transactions ./gnokey maketx. You can build and install gnokey following this tutorial : https://gnoland.space/start/create-wallet

Installing Gnokey and Gnodev

Compiling and installing gnokey is really easy.

Compiling

git clone git@github.com:gnolang/gno.git
cd ./gno
make

Installing gnodev

make install_gnodev

Installing gnokey

make install_gnokey

Parameters for the next step

For testnet "test2"

I used to send transactions with these parameters.

  • Min fee : 1ugnot
  • Gas : 15000000 (reimbursed if not used)

Account

List accounts

Useful to get your address

./gnokey list

The address used in this tutorial is g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e. Change it by your own address 🙂

Query account

Useful to get the sequence of your transactions and your account number

./gnokey query "auth/accounts/g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e" --remote test2.gno.land:36657

height: 0
data: {
  "BaseAccount": {
    "address": "g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e",
    "coins": "489988991ugnot",
    "public_key": {
      "@type": "/tm.PubKeySecp256k1",
      "value": "Ap96kZn7jX9lTBIXj95YZLdTtm95hu57+VNVKCoECbFI"
    },
    "account_number": "660936",
    "sequence": "18"
  }
}

Board

Create a board

Change args and Account named g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e with data parsed in previous steps.

Args Title : slashbin

Account Number : 660936 Sequence : 18

*** Create Board Transaction

./gnokey maketx call g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e --pkgpath "gno.land/r/boards" --func CreateBoard --args "slashbin" --chainid "test2" --send 100000000ugnot --gas-fee 1ugnot --gas-wanted 4000000 > createboard.unsigned.txt

*** Sign transaction 

./gnokey sign g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e --txpath createboard.unsigned.txt --chainid "test2" --number 660936 --sequence 18 > createboard.signed.txt

*** Broadcast Transaction

./gnokey broadcast createboard.signed.txt --remote test2.gno.land:36657

Other solution with autosign :


./gnokey maketx call g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e --pkgpath "gno.land/r/boards" --func CreateBoard --args "slashbin" --chainid "test2" --broadcast true --send 100000000ugnot --gas-fee 1ugnot --gas-wanted 4000000 --remote "test2.gno.land:36657"

Create a Thread

You first need to get the Board ID

Get the Board ID

Pushing a transaction (cost gas)

./gnokey maketx call g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e --pkgpath "gno.land/r/boards" --func "GetBoardIDFromName" --gas-fee 1ugnot --gas-wanted 4000000  --broadcast true --chainid test2 --args "slashbin" --remote test2.gno.land:36657

Making a simple query (doesn't cost gas)

Notice the newline \n, used to pass multiple instructions.

./gnokey query "vm/qeval" --data "gno.land/r/boards\nGetBoardIDFromName(\"slashbin\")" --remote test2.gno.land:36657

Create a thread on the Board

Use the args gotten previously (1461 in our example)

Title : Hire me Content : https://twitter.com/slashbin_fr

./gnokey maketx call g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e --pkgpath "gno.land/r/boards" --func "CreateThread" --gas-fee 1000ugnot --gas-wanted 4000000 --broadcast true --chainid test2 --args "1461" --args "Hire me" --args "https://twitter.com/slashbin_fr" --remote test2.gno.land:36657

Render the Board

Notice that we got rid of the newline \n, it works well too

./gnokey query "vm/qrender" --data "gno.land/r/boards            
slashbin" --remote test2.gno.land:36657

Create a reply

Notice the higher gas fee. I used the next step to verify why the transaction was not validated.

./gnokey maketx call g1ah79e3txw2kd2e8dscr2y2ucr888lm3qwm3v6e --pkgpath "gno.land/r/boards" --func "CreateReply" --gas-fee 1ugnot --gas-wanted 5000000  --broadcast true --chainid test2 --args "1461" --args "1" --args "1" --args "https://github.com/slashbinslashnoname/gnoland_cheatsheet" --remote test2.gno.land:36657

Verifying your transaction

You can verify your transaction by using rpc.gno.tools with the tx.height used to debug your transaction.

https://rpc.gno.tools/tx_search?query="tx.height=202977"

Outro

Next tutorial will learn you how to deploy a very simple smartcontract.

I hope you enjoyed this tutorial.

You can reach me at twitter.com/slashbin_fr and you already have my Gnoland account 😺 🖤

About

Gnoland Cheatsheet for an easy onboarding on how to interact with gnoland.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published