The transaction memory with VMs is frustrating, it is absolutely ephemeral. Just being inactive in Remix for a while resets the memory :'(. I want to be able to pick up where I left. Is it possible?
There is no built-in way to save the transaction history in Remix, but you can try using a separate tool like Ganach to set up a local development blockchain and connect it to Remix. This will allow you to persist your transactions and pick up where you left off. Here are the steps to do this:
Install Ganache on your computer.
In Ganache, create a new workspace or project and specify the desired settings for your local development blockchain (e.g. number of accounts, initial balance, etc.). You can also use it in the terminal. Here's the command for starting a Avax mainnet fork that I'm often using:
ganache-cli --port 8545 --gasLimit 20000000 --accounts 10 --hardfork istanbul --mnemonic brownie --fork https://api.avax.network/ext/bc/C/rpc --chainId 43114
In Remix, go to the Run tab and select the "Environment" dropdown. Choose "Web3 Provider" from the list of options.
In the "Web3 Provider Endpoint" field, enter the URL of the local development blockchain you set up in step 2. This will typically be something like "http://localhost:8545".
Click the "Connect" button to establish a connection between Remix and your local development blockchain.
You can now deploy and interact with contracts on your local blockchain from Remix, and the transaction history will be persisted across sessions.
Keep in mind that this approach only works for local development and testing, and you will need to use a different method (e.g. a testnet or mainnet) for deploying and interacting with contracts on the actual Ethereum network.