Skip to main content

Interact from apps

dApps talk to contracts via smart queries (read) and MsgExecuteContract (write).

import { MsgExecuteContract } from 'cosmjs-types/cosmwasm/wasm/v1/tx';

const msg = {
typeUrl: '/cosmwasm.wasm.v1.MsgExecuteContract',
value: MsgExecuteContract.fromPartial({
sender: address,
contract: contractAddr,
msg: new TextEncoder().encode(JSON.stringify({ transfer: { recipient, amount } })),
funds: [],
}),
};

const result = await client.signAndBroadcast(address, [msg], 'auto');

Smart query via REST:

curl -s "$REST/cosmwasm/wasm/v1/contract/$ADDR/smart/$QUERY_B64"

SafHandle example

  1. Resolve @john via getAddress or smart query
  2. Use returned addr_safro in MsgSend
  3. To register: Register names
  4. See Payments flow

Next