transact
Thực hiện giao dịch CVM trên mạng Convex. Sử dụng khi người dùng muốn sửa đổi trạng thái trên chuỗi, gọi hàm actor, hoặc định nghĩa giá trị.
npx skills add https://github.com/convex-dev/convex --skill transactExecute a Convex Transaction
Transactions modify global state atomically. They consume juice, paid in copper by the origin account, and must be signed.
Source: $ARGUMENTS
See the convex-lisp skill for CVM conventions and error codes.
Authorisation
A transaction requires a key. You have one only if the user has supplied it — a signing-service passphrase, or a raw seed. There is no ambient authority here, so:
- User has a key in the signing service — use the MCP
signingTransacttool with their address and passphrase. - User has a raw seed — use the MCP
transacttool with address and seed. - Neither — you cannot execute. Use
prepareto build the unsigned transaction, or the CLI below, and hand it back for the user to sign.
Do not treat case 3 as a blocker to work around. Preparing the transaction and returning it is the correct outcome.
Via the CLI
Works from a built convex.jar and needs no MCP server:
java -jar convex.jar client transact -a #13 '(def my-var 42)'
java -jar convex.jar client transact -a #13 -k <key> -p <keypass> '(transfer #42 1000000000)'
-k / --key selects the key from the keystore and -p / --keypass is its
passphrase; --keystore and --storepass select the keystore itself. Add
--host / --port for a non-default network.
Common Patterns
| Task | Source |
|---|---|
| Transfer coins | (transfer #DEST AMOUNT) |
| Define a value | (def my-var 42) |
| Call an actor | (call #ACTOR (function-name arg1 arg2)) |
| Call a library | (@convex.fungible/transfer #TOKEN #DEST AMOUNT) |
| Set controller | (set-controller #ADDR) |
Confirm source, destination and amount with the user before executing anything that moves value or changes account control. State what will happen in CVM units, not copper.