GnoConnect: Wallet & Client Integration Standard
GnoConnect is a standard for enabling wallets, clients, and SDKs (such as Adena Wallet, Gnoweb, and Gnobro) to interact seamlessly with Gno blockchains. It's a minimalistic, URL-based alternative to the gno-js-client that allows users to define actions in their apps without JS/TS components, making integration straightforward for both users and developers.
How GnoConnect Works
GnoConnect uses HTML/HTTP metadata to provide connection details for clients and wallets.
By including the following metadata/headers in your app, clients and wallets will be able to recognize your app as Gno-compatible and get the data needed to generate transactions for users.
HTML Metadata
<meta name="gnoconnect:rpc" content="127.0.0.1:26657" />
<meta name="gnoconnect:chainid" content="dev" />
<meta name="gnoconnect:txdomains" content="auto,example.com" />
gnoconnect:rpc
: RPC URL.gnoconnect:chainid
: Chain ID.gnoconnect:txdomains
: Domains treated as transaction sources. The valueauto
includes the current domain in addition to any specified domains.
HTTP Headers
Alternative to HTML Metadata.
Gnoconnect-RPC: 127.0.0.1:26657
Gnoconnect-ChainID: dev
Gnoconnect-TXDomains: auto,example.com
Transaction Links (TxLinks)
Transaction links define blockchain calls and can include optional arguments.
Without arguments:
$help&func=Foo
/r/path/to/realm$help&func=Foo
https://example.land/r/path/to/realm$help&func=Foo
With arguments:
$help&func=Foo&arg1=value1&arg2=value2
/r/path/to/realm$help&func=Foo&arg1=value1&arg2=value2
https://example.land/r/path/to/realm$help&func=Foo&arg1=value1&arg2=value2
Links can be relative or absolute but must match one of the domains listed in
gnoconnect:txdomains
(including the resolved auto
domain if set).
TxLinks only prefill specified arguments. For non-specified arguments, clients
can call vm/qdoc
to retrieve the remaining fields
(see PR #3459).
Note: A future standard may define advanced rules for fields such as limits, format, and default values.
Run Calls
TODO (discussion).
Supported Clients
- Gnoweb (provider)
- Adena Wallet (client)
- Gnobro (coming soon)
- Add your clients here