Che cosa definisce l'EIP-681
L'EIP-681 è un Ethereum Improvement Proposal, pubblicato nel repository degli EIP, che descrive un formato URI per chiedere a qualcuno di inviare ether o di chiamare una funzione di un contratto. L'URI inizia con ethereum:, poi l'indirizzo di destinazione, una @ facoltativa e un ID della catena, un nome di funzione facoltativo e i parametri di query. Un portafoglio che scansiona un codice di questo tipo può costruire la transazione perché l'utente la controlli.
Una semplice richiesta di ether ha questo aspetto: ethereum:0x...@1?value=1e18. Il valore è espresso in wei, la più piccola unità di ether, ed è ammessa la notazione scientifica, quindi 1e18 significa un ether. L'ID della catena dice al portafoglio a quale rete ci si riferisce, per esempio 1 per la mainnet di Ethereum.
Trasferimenti di token
L'EIP-681 può anche descrivere una chiamata a un contratto di token. Per un trasferimento di token, l'indirizzo di destinazione è il contratto del token, la funzione è transfer e i parametri indicano destinatario e importo, come in ethereum:0xTokenContract@1/transfer?address=0xRecipient&uint256=1e6. L'importo è nella più piccola unità del token, che dipende dai decimali del token.
Il supporto dei portafogli al formato completo varia. Alcuni portafogli leggono solo l'indirizzo, e alcuni ignorano l'ID della catena o la chiamata di funzione, quindi conviene provare un codice con i portafogli che usano i tuoi pagatori. Il pagatore deve sempre controllare rete, token e destinatario prima di confermare.