EIP-681の支払いリクエスト

別名: ethereum: URI, イーサリアム決済URI, ERC-681

定義

EIP-681は、支払いリクエスト用のethereum: URIを定めるイーサリアムの提案です。受取アドレス、任意のチェーンID、金額またはトークン送金を運び、多くの場合、QRコードとして表示されます。

EIP-681が定めること

EIP-681は、EIPsリポジトリで公開されているイーサリアム改善提案(Ethereum Improvement Proposal)で、イーサ(ether)の送金や、コントラクトの関数の呼び出しを依頼するための、URI形式を定めています。URIは、ethereum:で始まり、送信先アドレス、任意の@とチェーンID、任意の関数名とクエリパラメーターが続きます。ウォレットは、このようなコードを読み取ると、ユーザーが確認するための取引を組み立てられます。

単純なイーサのリクエストは、ethereum:0x...@1?value=1e18 のようになります。valueは、イーサの最小単位であるweiで指定し、指数表記も使えるので、1e18は1イーサを意味します。チェーンIDは、どのネットワークを想定しているかをウォレットに伝えます。たとえば、1はイーサリアムのメインネットです。

トークンの送金

EIP-681では、トークンのコントラクトの呼び出しも記述できます。トークンの送金では、送信先アドレスがトークンのコントラクト、関数がtransferで、パラメーターが受取人と金額を示します。たとえば、ethereum:0xTokenContract@1/transfer?address=0xRecipient&uint256=1e6 のようになります。金額は、トークンの最小単位で、トークンの小数桁数によって決まります。

この形式全体への対応は、ウォレットによって異なります。アドレスだけを読み取るものや、チェーンIDや関数呼び出しを無視するものもあるので、支払う人が使うウォレットで、コードをテストしておくのがおすすめです。支払う人は、確認する前に、ネットワーク、トークン、受取人を必ず確認してください。

よくある質問

ethereum:の支払いリンクのvalueは、何の単位ですか?

valueパラメーターは、イーサの最小単位であるweiです。1イーサは1e18 weiです。

EIP-681のQRコードで、イーサの代わりにトークンをリクエストできますか?

はい。transfer関数でトークンのコントラクトを指し、受取人と金額をパラメーターとして指定できます。

暗号資産のQRコードで、チェーンIDが重要なのはなぜですか?

同じアドレスが複数のネットワークに存在しうるため、チェーンIDが、支払いがどのネットワーク向けかをウォレットに伝えるからです。

出典と規格

すべての用語