I have connected my web3 instance to the public testnet of RSK and after creating my wallet using rsk.accounts.wallet.create(1, entropy)
and receiving some tRBTC from the faucet, I get the following when I go on the RSK Testnet Explorer.
The reason that you see what you see in the screenshot is due to the checksum. RSK uses EIP-1191 for checksums, which means that the combination of lower-cased and upper-cased letters in the address is different from that of what would would get when using a library that uses EIP-55.
So, what can you do about this?
(1) Use a different software library that supports EIP-1191. Be sure to pass in the chainId
(30
for RSK Mainnet, 31
for RSK Testnet), otherwise the checksum will be the same as an EIP-55 one.
(2) Use a workaround, to ignore/ bypass checksum verification on your address. You can switch to all lower-case or all upper-case in order to do so. Note that this explicitly skips verification in both EIP-55 and EIP-1191.
Edit to add more detail:
Here's the reference material regarding checksums on RSK: https://developers.rsk.co/rsk/architecture/account-based/#checksum
If the purpose is to check if you can actually use the this address, the best thing to do would be to check that you can sign messages with the private key linked to this address. There are 2 common ways to do this:
(1) On-chain: Sign a transaction. Send a nominal amount of RBTC to another EOA or an SC. This will incur gas fees, of course.
(2) Off-chain: Sign an arbitrary text message.
eth_sign
,
for example signer.signMessage
in ethers.js