I'm trying to deploy a smart contract to an Ethereum testnet (e.g., Rinkeby) via Remix Desktop. I have an RPC url provided by Infura, and I'm using this RPC url for Web3 Provider. Remix Environment does switch to Rinkeby successfully; however, I'm not able to add a new account. It asks for a passphrase, and when I enter some arbitrary passphrase, it gives me an error: "Cannot create an account: Error: Returned error: The method personal_newAccount does not exist/is not available"
Am I doing something wrong here? Your help would be greatly appreciated!
For deployment of your contract with Remix IDE you need to use the WalletConnect plugin (which comes already along with Remix). Just follow the steps below:
Activate plugin "Wallet Connect" Click on the plug-icon to switch to Plugin Manager, search for plugin and click "Activate".
In the added "Wallet Connect" tab enter your Infura project ID, press "Connect to a wallet" and select WalletConnect connection method.
A window with a QR code pops up. Scan with your MetaMask mobile app and allow Remix to connect with MetaMask by approving the appearing request on your mobile device. Important: before QR scanning select the account and network in MetaMask you want to use for deployment.
Now the "Wallet Connect" tab in Remix shows your account address and network.
Change to DEPLOY & RUN TRANSACTIONS screen and you will find a new entry "Wallet Connect" in "Environment" data field. Select and Remix will show the chosen network in small letters below. Furthermore, your wallet address is inserted in account data field. So you are ready to deploy!
Important: make sure you disable "Personal Mode for web3 provider" in settings menu. With personal mode on your wallet address will not show up in deployment screen.
Remix Desktop does not have access to the Metamask - the browser plugin - so deploying to a public chain currently involves using the Wallet Connect plugin. In contract, Remix IDE - the web app has easy access to the Metamask browser plugin.