中級者用語を調べる
マルチコールとは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 4 分
結論
マルチコールは、複数の呼び出しを1つの取引にまとめて実行する方法です。手数料が減り、途中で失敗したら全体を取り消せるため、中途半端な状態が残りません。一方で、署名画面には束ねられた内容が表示されるため、何をまとめて承認したのかが読み取りにくくなります。
要点
- 複数の呼び出しを1つの取引にまとめる
- 全体が成功するか、全体が取り消されるかのどちらか
- 手数料と待ち時間を減らせる
- 署名画面で内容を読み取りにくくなる
定義
1つの取引の中で複数のコントラクト呼び出しを順に実行する仕組み。読み取り専用の集約に使う場合と、状態を変える処理をまとめて実行する場合がある。
アプリの画面に10種類のトークン残高を表示するとき、10回問い合わせると往復が10回発生します。マルチコールでまとめれば1回で済み、表示が速くなります。読み取りだけであれば手数料もかからないため、ほとんどのアプリが内部で使っています。
状態を変える処理でも同じことができます。許可の付与と交換、あるいは複数のプールへの預け入れを1つの取引にまとめると、手数料が1回分で済み、途中の状態でブロックが区切られることもありません。どれかが失敗すれば全体が巻き戻ります。
利用者として気を付けたいのは、まとめられた分だけ確認が難しくなることです。ウォレットが束の中身を1つずつ表示してくれるとは限らず、「複数の処理」としか出ないこともあります。束の中に想定外の許可が紛れていても、画面上は目立ちません。
注意点
- · 束ねられた処理の中に、意図しない許可の付与が含まれていることがある
- · 内容を展開して表示できないウォレットでは、承認前に中身を確認しきれない
- · 1つでも失敗すると全体が取り消され、手数料だけが消費される