walletconnect について
walletconnectは、walletconnect CLIを操作するスキルで、ウォレットやオンチェーン操作を行うユーザー向けです。セッション確認、メッセージ署名、トランザクション、チェーン間のブリッジやスワップを扱い、設定と手順も示します。
主な機能
- 01QRコードまたはブラウザーでウォレット接続
- 02セッション確認とメッセージ/EIP-712データへの署名
- 03トランザクション送信とチェーン上のETH不足への対応
- 04チェーン間のトークンブリッジやスワップ
- 05ウォレットセッションの切断
活用シーン
- 01接続中のウォレットを確認
- 02ウォレットでメッセージや型付きデータに署名
- 03送信先チェーンのETHが不足した状態でトランザクションを送信
- 04チェーン間でトークンをブリッジまたはスワップ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ walletconnect/ agent-sdk --skill walletconnectインストール後、Claude Code で/walletconnectを入力して読み込まれたか確認します。
詳細
WalletConnect CLI
目的
walletconnect CLI バイナリを操作して、QR コード経由でウォレットを接続し、セッションを確認し、メッセージに署名し、トランザクションを送信し、チェーン間でトークンをブリッジ/スワップ(swidge)し、接続を解除します。
使用する場合
- ウォレットへの接続や、QR コードのスキャンを依頼された場合
- 接続中のウォレットの確認(
whoami)を依頼された場合 - ウォレットでのメッセージへの署名を依頼された場合
- EIP-712 の型付きデータへの署名を依頼された場合
- ウォレットでのトランザクション送信を依頼された場合
- チェーン間でのトークンのブリッジまたはスワップを依頼された場合
- ウォレットセッションの接続解除を依頼された場合
- ウォレット操作の文脈で
walletconnectCLI に言及された場合
使用しない場合
- WCT 報酬のステーキング、ステーキング解除、または請求を希望している場合(
walletconnect-stakingスキルを使用してください) - WalletConnect Pay の支払いの作成またはチェックアウトを希望している場合(
walletconnect-payスキルを使用してください) - SDK のソースコード自体を作業している場合(通常どおり編集してください)
前提条件
connect、sign、send-transaction、swidgeコマンドを使用するには、プロジェクト ID を設定する必要があります(以下を参照)- バイナリは
packages/cli-sdk/dist/cli.jsにあります(またはグローバルにwalletconnectとしてリンクされています) - 必要に応じて、先にビルドしてください:
npm run build -w @walletconnect/cli-sdk
プロジェクト ID の設定
プロジェクト ID は、次の順序で解決されます:WALLETCONNECT_PROJECT_ID 環境変数 > ~/.walletconnect-cli/config.json。
# Set globally (persists across sessions)
walletconnect config set project-id <id>
# Check current value
walletconnect config get project-id
# Or override per-command via env var
WALLETCONNECT_PROJECT_ID=<id> walletconnect connect
コマンド
# Connect a wallet (displays QR code in terminal)
walletconnect connect
# Connect via browser UI instead of terminal QR
walletconnect connect --browser
# Connect with specific chain
walletconnect connect --chain eip155:10
# Check current session
walletconnect whoami
walletconnect whoami --json
# Sign a message
walletconnect sign "Hello, World!"
# Sign EIP-712 typed data
walletconnect sign-typed-data '{"types":...}'
# Send a transaction (EVM)
walletconnect send-transaction '{"to":"0x...","value":"0x...","data":"0x..."}'
# Send a transaction on a specific chain
walletconnect send-transaction '{"to":"0x...","value":"0x...","chainId":"eip155:10"}'
# Send a Solana transaction
walletconnect send-transaction '{"transaction":"base64...","chainId":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"}'
# Bridge/swap tokens across chains (swidge)
walletconnect swidge --from-chain eip155:10 --to-chain eip155:1 --from-token WCT --to-token WCT --amount 5
# Disconnect
walletconnect disconnect
# Manage config
walletconnect config set project-id <value>
walletconnect config get project-id
Swidge(クロスチェーンのブリッジ/スワップ)
swidge コマンドは、LI.FI 経由でチェーン間のトークンをブリッジまたはスワップします。接続中のウォレットを使用して、ブリッジトランザクションを承認し、実行します。
必須フラグ
--from-chain <id>— 送信元チェーン(CAIP-2、例:eip155:8453)--to-chain <id>— 宛先チェーン(CAIP-2、例:eip155:10)--amount <n>— ブリッジする数量(人が読み取れる形式、例:5、0.1)
オプションのフラグ
--from-token <sym>— 送信元トークンのシンボル(デフォルト:ETH)--to-token <sym>— 宛先トークンのシンボル(デフォルト:ETH)
send-transaction での自動ブリッジ
send-transaction を使用すると、CLI は接続中のウォレットに対象チェーン上の ETH が十分にあるかどうかを自動的に確認します。不足している場合:
- TTY モード:別のチェーンからブリッジするようユーザーに確認します
- パイプ/エージェントモード:資金が最も多いチェーンから自動的にブリッジします
Swidge の例
# Bridge 5 WCT from Optimism to Ethereum mainnet
walletconnect swidge --from-chain eip155:10 --to-chain eip155:1 --from-token WCT --to-token WCT --amount 5
# Swap USDC on Base to ETH on Optimism
walletconnect swidge --from-chain eip155:8453 --to-chain eip155:10 --from-token USDC --to-token ETH --amount 10
# Bridge ETH from Ethereum to Base
walletconnect swidge --from-chain eip155:1 --to-chain eip155:8453 --amount 0.01
デフォルトのワークフロー
- プロジェクト ID が設定されていることを確認します:
walletconnect config get project-id - セッションがあるか確認します:
walletconnect whoami - 未接続の場合は接続します:
walletconnect connect - 依頼された操作(sign、send-transaction、swidge など)を実行します
- 完了したら、必要に応じて接続を解除します:
walletconnect disconnect
重要な注意事項
connectコマンドとsignコマンドにはプロジェクト ID が必要です。未設定の場合はwalletconnect config set project-id <id>で設定してください- セッションは
~/.walletconnect-cli/に保存され、コマンドの実行後も維持されます - セッションがない場合、
sign、send-transaction、swidgeは自動的に接続します --browserフラグを指定すると、ターミナルに QR コードを表示する代わりに、QR コードを含むローカルウェブページが開きます- ウォレット操作(QR コードのスキャン、署名、ブリッジ)を必要とするコマンドには、必ず 60 秒以上のタイムアウトを設定してください
--chainフラグを指定しない場合、connectはデフォルトですべての EVM チェーンを対象にしますswidgeでは ERC-20 トークンの承認が必要です(自動的に処理され、ユーザーがウォレットで確認します)- クロスチェーンブリッジでは通常、資金が宛先チェーンに届くまで 1~5 分かかります
send-transactionの出力は JSON として stdout に送られ、ステータス/進捗は stderr に送られます
検証チェックリスト
- プロジェクト ID が設定されている(
walletconnect config get project-id) - バイナリがビルドされ、リンクされている(
walletconnect --helpが動作する) - コマンドの出力がユーザーに表示されている
- ウォレット操作に十分なタイムアウトが設定されている(60 秒以上)
- swidge の場合:
--from-chain、--to-chain、--amountがすべて指定されている
例
セッションの状態を確認
User: "Am I connected to a wallet?"
Action: Run `walletconnect whoami`
メッセージに署名
User: "Sign the message 'verify-ownership' with my wallet"
Action: Run `walletconnect sign "verify-ownership"`
Note: Inform user to confirm in their wallet app
トランザクションを送信
User: "Send 0.01 ETH to 0xABC... on Optimism"
Action: Run `walletconnect send-transaction '{"to":"0xABC...","value":"0x2386F26FC10000","chainId":"eip155:10"}'`
Note: Inform user to confirm in their wallet app. Auto-bridges ETH if insufficient.
トークンをブリッジ
User: "Bridge 5 WCT from Optimism to mainnet"
Action: Run `walletconnect swidge --from-chain eip155:10 --to-chain eip155:1 --from-token WCT --to-token WCT --amount 5`
Note: May send 2 transactions (approve + bridge). Inform user to confirm each. Funds arrive in 1-5 min.
コメント
Markdown 対応