Tip: Using Remix IDE
I want to give you another tip that will save you tons of time. When developing your smart contracts, use an IDE like Remix.
In our videos we've been compiling our smart contracts by hand using
solc and this is a good idea for learning what's going on and it's a best practice for production contracts.
That said, when we're in the early development stages, copying and pasting bytecode and ABIs can be a real pain.
Thankfully there are editors like Remix that make this a lot easier.
But I want to give a disclaimer first. In this video and in this course I'm going to be using Remix as a tool to quickly compile, deploy, and experiment with smart contracts.
I want you to know that Remix is not essential. You can and should be able to do anything I'm doing in Remix on the commandline. We've covered how to do it in earlier videos.
Remix is a tool to make our lives easier, but it's not a requirement.
Another thing I want you to keep in mind is that Remix is under active development. I'm using the most recent version of Remix, but by the time you're watching this video, the design might have changed a little bit.
If you see me using a feature that doesn't appear in your version, check the comment section for updated instructions.
So let's take a look at remix
There's a deployed version of remix at https://remix.ethereum.org. You can also find the code at GitHub.
In the main pane you can see some default solidity code. On the right we have our file explorer, and on the left we have some tools.
For our development, we want to connect this page in two ways to our local computer.
We can connect the filesystem to our local filesystem using remixd and
We can connect this page to our local
gethtest network using Web3
Keep in mind that we need to be very careful about security here. It's probably fine in this case to connect to your local
geth instance as long as it doesn't hold your real private keys.
That said, if you want to be extra careful with your security, I'd recommend downloading remix from Github and running a local instance instead of using this hosted instance.
The hack scenario would be where an attacker hacks the hosted version of Remix and secretly configures it to steal your private keys. This hasn't happened yet, that I know of, but better safe than sorry.
Let's connect Remix to our local file system using remixd.
You can view the Github repo for remixd here, which gives you installation instructions.
Right now it uses npm install:
npm install -g remixd
# and we can point it to whatever directory we want to use for our contracts
remixd -S million-ether-page/contracts/