0% found this document useful (0 votes)
36 views

Project Decentralized Bank Account

This document outlines the goals and steps for a decentralized bank account project built on the Polygon network that allows users to deposit and withdraw MATIC tokens based on a real-time dollar price feed from Chainlink oracles. The project will utilize Brownie and Ganache for smart contract development and testing, Chainlink price data, and Alchemy as a blockchain provider, with the goals of introducing concepts like oracles, libraries, development frameworks, and public testnets. Key steps include implementing the Chainlink oracle, price conversion, deposit and withdrawal functions, and protecting against issues like integer overflows.

Uploaded by

ahdy kefi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views

Project Decentralized Bank Account

This document outlines the goals and steps for a decentralized bank account project built on the Polygon network that allows users to deposit and withdraw MATIC tokens based on a real-time dollar price feed from Chainlink oracles. The project will utilize Brownie and Ganache for smart contract development and testing, Chainlink price data, and Alchemy as a blockchain provider, with the goals of introducing concepts like oracles, libraries, development frameworks, and public testnets. Key steps include implementing the Chainlink oracle, price conversion, deposit and withdrawal functions, and protecting against issues like integer overflows.

Uploaded by

ahdy kefi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Decentralized-BANK Account

Deadline: 23-12-2022

Project summary
Fund_me is a web3 project that can allow users to fund a smart contract with MATIC tokens
based on real-time Dollar price feed with the possibility to withdraw their deposits later.

1. the brownie should be used as a smart contract development and testing framework.
2. Brownie project should be configured for local blockchain and public testnet
3. The minimum deposit is 50$.
4. The smart contract should be protected by the address owner
5. This project should be tested on the local blockchain and deployed using
MockV3Aggregator and Ganache.
6. Integer Underflow/Overflow should be protected by Safemath libraries from chainlink or
openzeppelin
7. AggregatorV3Interface should be used to get real-time on-chain price feed data.
8. Use alchemy as a blockchain as a service provider.
9. Install metamask as a wallet service.
10. get faucets from chainlink on the Mumbai network to be able to deploy smart contracts
and make transactions.

GOALS
1. Get introduced to solidity language for EVM smart contracts.
2. Get introduced to Chainlink oracle.
3. Get introduced to libraries from NPM and Solidity.
4. Get introduced to the development and testing framework targeting Ethereum Virtual
machine smart contracts
5. Get introduced to Blockchain as a service provider INFURA or Alchemy
6. Get introduced to faucets and wallet providers such as metamask
7. Get introduced to the local and personal blockchain using GANACHE.
8. Get introduced to a public blockchains like polygon and testnet like Mumbai

BIG STEPS
● Payable,msg.sender, msg.value, units of measure
● Chainlink Oracle
○ Decentralized Oracles Network Chainlink
■ Blockchains can’t make API calls
■ Centralized nodes are points of failure
○ data.chain.link
○ Getting External Data with chainlink Oracles
■ Chainlink
■ Faucet and Contract Addresses
● MUMBAI TESTNET
○ Alchemy & Infura
● Getting price information
■ Importing from NPM and Advanced Solidity
● Decimals / Floating point number in Solidity
● LatestRoundData
● Importing from NPM web3.js or Ethers.js
● Interfaces
○ Introduction to ABIs
● Getting price feed Adresses
● Get Price
● Tuples
○ Unused Tuple variables
● Matching units (WEI,GWEI,ETH)
● GetConversionRate
● SafeMath & Integer overflow
● Require
● Revert
● Withdraw function
● Transfer
● Balance
● this
● Contract owner
● Constructor
● ==
● Modifiers
● Resetting
● for loop
● Array Length
● Forcing a transaction
● Recap
○ Koubaib Maamouri +1 + 0.5 project;
○ Dhia Eddine LAKTI +0.5;

You might also like