Getting started in a blockchain development environment can feel completely foreign, especially if you are coming from web development.
Here is an overview of some key items I had to learn about in my first few days with Solidity:
Web3 is a term you will see often. In broad terms, it refers to certain interfaces and tools that make it easy to integrate with crypto wallets (like Metamask) and other blockchain-related functionality. There are a growing number of libraries that expose Web3 functionality in different dev environments.
Metamask is currently the standard browser-based wallet to use while learning blockchain development. It has built-in integration with IDE and Testnet environments (more on this below) which makes it easy to acquire and use test Ether.
- You have to pay gas (ether) to "change" the blockchain. This includes making a payment transaction, updating the state of a smart contract, or deploying a smart contract.
- Consider your gas payment to be the transaction fee paid to the miners running the network
- Your Solidity code should be optimized to reduce gas cost.
- Remix is an online IDE for compiling and deploying contracts written in Solidity. It is the quickest way to start working with smart contracts.
- Hardhat is a framework for doing blockchain development in a local environment. It can also deploy to live and testnet environments.
- Testnets are test blockchain environments. Use them to deploy and test smart contracts without having to spend real crypto on gas.
- Testnet Faucets will send cryptocurrency to your Metamask wallet which can be used on the Testnet environments.
This is a spec for implementing fungible tokens. Read about it here
This is a spec for implementing non-fungible tokens. Read about it here
I hope this list can save some time for anyone else out there learning Solidity. Let me know in the comments if there is something you think I should add.