# `gno.land/r/moul/demo/args` Step 2 of the `r/moul/demo` walkthrough: passing arguments to an exported function. ```go func Hello(name string) string { return "Hello " + name + "!" } ``` Arguments arrive from the transaction as strings and are decoded into the declared parameter types. There is no state here: the realm reads its input and returns, so two identical calls return the same thing. ```bash gnokey maketx call -pkgpath gno.land/r/moul/demo/args \ -func Hello -args People -gas-fee 20000ugnot -gas-wanted 2000000 -broadcast moul ``` Previous: [`hello`](../hello). Next: [`data`](../data) adds state that survives the call. --- Part of **[moul/gno-contracts](https://github.com/moul/gno-contracts)** — moul's versioned gno.land contracts. See the repository for the full catalog, build/test tooling, and usage. **On mainnet:** [![deployment status](https://gnoscope.com/_badges/shield/status/r/moul/demo/args/v0?network=mainnet)](https://gnoscope.com/realm/r/moul/demo/args/v0) [![transactions](https://gnoscope.com/_badges/shield/txs/r/moul/demo/args/v0?network=mainnet)](https://gnoscope.com/realm/r/moul/demo/args/v0) [![unique callers](https://gnoscope.com/_badges/shield/users/r/moul/demo/args/v0?network=mainnet)](https://gnoscope.com/realm/r/moul/demo/args/v0) [![deployed revision](https://gnoscope.com/_badges/shield/version/r/moul/demo/args/v0?network=mainnet)](https://gnoscope.com/realm/r/moul/demo/args/v0) > ⚠️ **Disclaimer:** provided as-is, without warranty; not security-audited. Full disclaimer: [DISCLAIMER](https://github.com/moul/gno-contracts/blob/main/DISCLAIMER.md).