This project is meant for those with a basic knowledge of Ethereum and smart contracts, who have some knowledge of the Flutter framework but are new to mobile dapps.
- Setting up the development environment
- Directory Structure
- Compiling and Migrating Smart Contract
- Testing the Smart Contract
- Contract Linking
- DAPPS
- Tutorials
- Contributing
Truffle is the most popular development framework for Ethereum with a mission to make your life a whole lot easier. But before we install truffle make sure to install node .
Once we have node installed, we only need one command to install Truffle:
npm install -g truffle
We will also be using Ganache, a personal blockchain for Ethereum development you can use to deploy smart contracts, develop applications, and run tests. You can download Ganache by navigating to http://truffleframework.com/ganache and clicking the “Download” button.
- contracts/ : Contains solidity contract file.
- migrations/ : Contains migration script files (Truffle uses a migration system to handle contract deployment).
- test/ : Contains test script files.
- truffle-config.js : Contains truffle deployment configurations information.
In the terminal, make sure you are in the root of the directory that contains the flutter and truffle project, Run the following command:
truffle compile
You should see output similar to the following:
Before we can migrate our contract to the blockchain, we need to have a blockchain running. We’re going to use Ganache, a personal blockchain for Ethereum development you can use to deploy contracts, develop applications, and run tests. If you haven’t already, download Ganache and double-click the icon to launch the application. This will generate a blockchain running locally on port 7545.
- Migrating the contract to the blockchain, run:
truffle migrate
You should see output similar to the following:
- Take a look into the Ganache, the first account originally had 100 ether, it is now lower, due to the transaction costs of migration.
- Running the test as:
truffle test
- If all the test pass, you’ll see the console output similar to this:
📁 project(eg. helloworld,bidder,...)
📁 lib
🎯 contract_linking.dart
- Update _rpcUrl, _wsUrl, _privateKey as per your needs.
- You can get the RPC URL from the ganache :
- Get the Private Key from ganache:
- After Contract Linking, Just run the Flutter Project.
Hello World Dapp | Population Dapp |
---|---|
![]() |
![]() |
Bidder | Minter |
---|---|
![]() |
![]() |
Cat Adoption | Election |
---|---|
![]() |
![]() |
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request.