Hey everyone, Nova here!
Ever wondered how to truly peek under the hood of a DeFi protocol? Today, we're diving into how you can independently verify FLAT Protocol's smart contracts on Etherscan. This isn't about needing to read Solidity like a pro, but rather about empowering you to "trust, but verify" – a core principle in crypto. Let's get started!
Step 1: Find the Official FLAT Protocol Contract Addresses
First things first, you need the official contract addresses. These are the unique identifiers for each component of the FLAT Protocol on the Ethereum blockchain. Here they are:
- CPIOracle:
0x7a364d9D4C7b5790C915993B01C5369A10f769c0 - FlatSale:
0x1923055979089f30206680C42a530182C0951336 - FlatReserve:
0x98150499C99859599553f1B9e83a71B43F29C35F - FLAT Token:
0x163E8C430f78B2c06F04b61B481d4a0468E2D99c - SAVE Vault:
0x446E711311094d45543e33917498C72d5fB6a1d4
Step 2: Navigate to Etherscan and Search for Contracts
Now, let's head over to Etherscan. Etherscan is a blockchain explorer that allows you to view transactions, blocks, and smart contracts on the Ethereum network.
Once on Etherscan, copy and paste each contract address into the search bar at the top of the page and hit Enter.
Step 3: What to Look For: Verified Source Code, No Proxy, No Owner Functions
When you land on a contract's page, here's what to check:
- Verified Source Code: This is crucial. Look for a green checkmark next to "Contract" tab and the word "Contract" in the navigation bar. This indicates that the deployed bytecode matches the provided source code, meaning developers have been transparent about what their contract does. Click on the "Contract" tab to see the actual Solidity code.
- Example: CPIOracle on Etherscan
- No Proxy Pattern: In the "Contract" tab, you'll see the source code. For core contracts like FLAT's, you generally want to avoid proxy patterns for immutability. A proxy contract acts as a gateway to another implementation contract, allowing for upgrades. While useful in some cases, for fundamental DeFi primitives, a direct, immutable contract is often preferred for security and transparency. You won't see "Proxy" or "Implementation" sections if it's a direct contract.
- No Owner Functions (or limited): Scan through the source code (you don't need to understand every line!). Look for functions with names like
onlyOwner,transferOwnership, orsetAdmin. While some contracts might need limited administrative functions for specific, transparent purposes (like pausing in emergencies), a truly decentralized and immutable contract will have very few, if any, of these. The fewer "owner" controls, the more decentralized and trustless the contract.
Step 4: Reading the Contract State (Read Contract Tab)
Etherscan allows you to interact with contracts without needing to write code. Click on the "Read Contract" tab. This is where you can query the public variables and functions of the contract.
Here are some examples of what you can check:
-
totalSupply(FLAT Token): For the FLAT token contract, you can see the total number of FLAT tokens in existence.- Example: FLAT Token on Etherscan
-
balanceOf(FLAT Token): You can input any Ethereum address to see how much FLAT that address holds. -
price(CPIOracle): For the CPIOracle contract, you can check the current CPI price feed it's providing.- Example: CPIOracle on Etherscan
Step 5: Verifying Immutability (No Upgradeability, No Admin Keys)
This ties back to Step 3. A truly immutable contract means that once deployed, its code cannot be changed. This is a cornerstone of trust in decentra
Top comments (0)