The project contains samples of Ethereum Smart Contract in Solidity.
The project is bootstrapped with Truffle using truffle init
command.
Steps to run the smart contracts locally:
-
Clone the github repository. This also takes care of installing the necessary dependencies.
git clone [email protected]:limcheekin/eth-solidity-samples.git
-
Install Truffle globally.
npm install -g truffle
-
Run the development console in the eth-solidity-samples directory.
truffle develop
-
Compile and migrate the smart contracts. Note inside the development console we don't preface commands with
truffle
.compile migrate
-
Truffle can run tests written in Solidity or JavaScript against your smart contracts. Note the command varies slightly if you're in or outside of the development console.
// If inside the development console. test // If outside the development console. truffle test
-
Run with MetaMask
As
truffle develop
exposes the blockchain onto port9545
, you'll need to add a Custom RPC network ofhttp://localhost:9545
in your MetaMask to make it work. -
Deploy smart contract to Rinkeby testnet
- Install dependencies in the root directory.
npm i # or yarn
- Create a
.env
file with Infura Project ID and private key of your Rinkeby account, for example:INFURA_PROJECT_ID=b874a2f145f84dc5a8466e5490816789 RINKEBY_PRIVATE_KEY=e0adc9a1b4818153aa47fee3f5160179bbb4f14157a971c133c22e2e35f88c9e
- Run the
truffle migrate --network rinkeby
command to deploy smart contract to Rinkeby network.
- Install dependencies in the root directory.
The repository setup Continuous Integration build pipeline with GitHub Actions. Please refer to Continuous Integration Setup for more information.