نکته: از آدرس بهتنهایی نمیتوان کلید عمومی را ساخت. باید یک امضا داشته باشی (مثلاً با MetaMask پیام را امضا کن).
یا
خروجیها
Public Key (uncompressed, 0x04 + X + Y):
—
Public Key (compressed, 0x02/0x03 + X):
—
Recovered ETH address (raw, 0x + 40 hex):
—
Address matches provided?—
توضیح فنی کوتاه: ما پیام را طبق استاندارد اتریوم (prefixed with "\x19Ethereum Signed Message:\n" + len) هش میکنیم، سپس از امضا (r,s,v) با ethers.utils.recoverPublicKey تابع ethers.utils.recoverPublicKey استفاده میکنیم که پابلیککی را بازمیگرداند. آدرس از keccak256(publicKeyBytesWithout0x04)[12..] ساخته میشود.