Smart Contract for Graphite
We developed 4 unique smart contracts for Graphite, which form the key features of the Graphite blockchain. These smart contracts enable the implementation of the Reputation-Based System, Account Activation, KYC (Know Your Customer) and KYC Filters. These elements work together to create a secure, transparent, and user-friendly ecosystem.
Graphite's Reputation-Based System involves:
- Account activation (i.e. wallet confirmation), whereby a user pays a small fee in order to perform outgoing transactions.
- Effective and secure KYC verification through off-chain interactions.
- Transaction filters for counterparty accounts based on KYC.
The features described above ensure that one user has one account, not multiple.
Graphite users need to activate their wallets in order to get network permission to send outgoing transactions, otherwise they will be rejected by the network. Users need to pay a small fee in order to activate their account.
This feature decreases the number of one-off accounts used for fraudulent activities and contributes to the "One User = One Account" policy.
The need for account activation is the result of how wallet addresses work on a blockchain. A common problem with a blockchain is that wallet space is often congested with millions of wallets that were used for a small, often illegal, one-off transaction.
To prevent such cluttering from occurring, a user needs to activate their account by paying a small fee to create a blockchain record showing that this specific address is now activated. Upon activation, an account is granted permission to send transactions to the Graphite blockchain.
Activated Wallet Address
Can accept transactions
Can send transactions
Not yet Activated Wallet Address
Can accept transactions
Can NOT sent transactions
Graphite has a secure KYC (Know Your Customer) procedure with three levels of verification.
Compliant KYC centers perform KYC verification using the standard document criteria. For each new verification, a KYC center is randomly chosen and the verification takes place off-chain directly between a user and the respective KYC center.
Upon completing a KYC verification, users can have 1 of 3 KYC tiers:
- as An email address is confirmed.
- The person’s name and physical address are confirmed.
- The person’s identity is confirmed with a video.
The KYC level of each wallet address is publicly stored on the blockchain and is able to be viewed by anyone at any time, but private data such as names, emails, etc., is never published on the blockchain and is kept entirely off-chain.
This system is essential for legal compliance and fraud prevention within the network.
Graphite users can protect themselves from suspicious transactions by setting KYC-based filters. These filters allow users to reject incoming transactions from accounts with lower KYC levels, ensuring that they only engage with trusted parties. This feature further reinforces the network's emphasis on security and reputation.
For incoming transactions, a user can create filters to:
- Accept all transactions.
- Only accept transactions from activated accounts.
- Only accept transactions from users with a KYC tier no less than that selected (i.e. Tier 1, 2 or 3).
Development process
PLANNING AND TECHNICAL DETAILS
Meeting with the client to determine exact requirements and desired functional capabilities of the project.
ARCHITECTURE DESIGN
Designing the smart contract architecture, laying the foundation while considering all project requirements.
DEVELOPMENT AND IMPLEMENTATION
Creating the smart contract using Solidity, tailored to the project’s specific needs, and implementing all necessary features.
TESTING AND REFINEMENT
Performing thorough testing, identifying and resolving issues, and ensuring the product meets all performance and functionality requirements.
RELEASE AND SUPPORT
Deploying the smart contract into production, and providing support with monitoring and error notifications.
Team in project
PROJECT MANAGER
Manages processes, coordinates deadlines, communicates with the client, and gathers requirements.WEB3 BUSINESS ANALYST
Analyzes business processes and strategies within the Web3 domain, including decentralized applications, mobile devices, and cryptocurrencies.SOLUTION ARCHITECT
Designs integrated solutions, analyzes business processes, defines system requirements, selects technologies and tools for implementation.SOLIDITY DEVELOPER
Develops smart contracts, optimizes their performance, and ensures security by identifying vulnerabilities in the code.BACK-END DEVELOPER
Develops server-side logic, manages databases, works with programming languages and frameworks, handles authentication and security, and documents processes.QA-ENGINEER
Plans and executes tests, performs both manual and automated testing, creates reports, interacts with developers, and participates in release activities.
Services in case
Same Articles
All Articles
Extreme Optimization of GasToken
In this article, we will delve into optimizing GasToken. It's important to note that it is no longer relevant to the Ethereum network. In 2021, the London hard fork introduced EIP-3529 because the GasToken economy was inefficient. The Binance Smart Chain (BSC) continues to use this mechanism.

Basics of a Smart Contract
Smart contracts are pieces of code that execute an action when certain conditions are met.
Cases

