Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/druxamb/geomarkt
A fusion of "Geography" and "Market,"
https://github.com/druxamb/geomarkt
graphql javascript nextjs onchainkit plugins solidity thirdweb typescript web3js zksync-web3
Last synced: 3 months ago
JSON representation
A fusion of "Geography" and "Market,"
- Host: GitHub
- URL: https://github.com/druxamb/geomarkt
- Owner: DruxAMB
- Created: 2024-09-03T21:09:18.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-13T17:07:31.000Z (5 months ago)
- Last Synced: 2024-11-08T07:04:58.269Z (3 months ago)
- Topics: graphql, javascript, nextjs, onchainkit, plugins, solidity, thirdweb, typescript, web3js, zksync-web3
- Language: TypeScript
- Homepage: https://noisy-raincoat-many.on-fleek.app/
- Size: 2.97 MB
- Stars: 4
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GeoMarkt
## Welcome to the GeoMarkt platform
## Technologies Used
- **The Graph**: Used for indexing and querying blockchain data efficiently. The Subgraph allows you to fetch detailed cityindex data easily. You can view the subgraph [here](https://api.studio.thegraph.com/query/88691/geomarket/version/latest).
- **OnchainKit**: Build your onchain apps with ready-to-use React components and Typescript utilities. The onchainkit gives you access to coinbase wallet and also allows for gasless fee with paymaster.
- **Base**: The platform is deployed on the Base network, a Layer 2 scaling solution for Ethereum that offers lower transaction costs and faster confirmations. Base was chosen for its scalability, making it ideal for frequent transactions. You can view a sample transaction on Base [here](https://sepolia.basescan.org/tx/0x4012eed063272e6771d62a07162b3eaf35b6f11f130b5cf2163d28dd53f13660).
- ORA Web3js plugings: used for generating customized avaters
- @chainsafe/web3-plugin-chainlink: used for our price page [here](https://github.com/DruxAMB/GeoMarkt/blob/main/frontend/app/price/page.tsx)
- Web3js plugins:
Web3js zksync: for integrating paymaster
Fleek: deployed to fleek
> ## Table of contents
- [Overview](#overview)
- [Core Features Implemented](#core-features-implemented)
- [Technologies](#technologies)
- [GeoMarkt-MVP-Contract-Addresses](#geomarkt-mvp-contract-addresses)
- [Live Link](#live-link)
- [Contributors](#contributors)
- [Contributing to the project](#contributing-to-the-project)#
> ## Overview
A decentralized platform that allows users to trade city-based tokens. These tokens are tied to the value and growth potential of real-world cities, creating a new way to invest in urban development.
#
> ## core-features-implemented
# GeoMarkt Project Architecture
## Key Components
### 1. AnalyticsAPICaller (Chainlink Integration)
- Uses Chainlink to fetch city sizes from an external API
- City sizes are used to create City Indexes### 2. GMT Token (Stablecoin)
- Heart of the project
- Pegged 1:1 to USD
- Importance:
- Reduces volatility in the ecosystem
- Provides a stable medium of exchange for city token trading
- Facilitates easier valuation of city indexes### 3. Token Swapping
- Users can swap ETH or USDT for GMT
- 1:1 ratio maintained for USDT and GMT swaps
- Chainlink price feeds ensure accurate ETH/USD conversion### 4. CityIndex Contract
- Represents tokenized ownership of a particular city
- Users can buy and sell tokens of specific cities### 5. CityIndexFactory Contract
- Deploys new CityIndex contracts
- Manages the creation of city-based tokens### 6. GeoMarktTrading Contract
- Enables trading of city index tokens
- Supports leveraged positions and risk management features## Chainlink Integration
1. API Caller: Fetches city sizes for creating accurate city indexes
2. Price Feeds: Ensures GMT token maintains its 1:1 peg with USD
3. (Potential future use) Automated price updates for city indexes## USDT on Sepolia Testnet
- Custom USDT deployed for testing purposes
- Facilitates testing of stablecoin interactions## Architecture Flow
1. Chainlink oracles provide city data and price feeds
2. CityIndexFactory deploys CityIndex contracts based on data
3. Users acquire GMT by swapping ETH or USDT
4. Users trade city tokens via CityIndex contracts
5. GeoMarktTrading enables advanced trading features
6. Chainlink ensures price stability and data accuracy throughout
7. Paymaster integrated to help to support for payment in other tokens
#
> ## Technologies
| Stack | Usage |
| :------------------ | :------------------ |
| **`Solidity`** | Smart contract |
| **`Next JS`** | Frontend |#
> ## geomarkt-mvp-contract-addresses
ALL Contracts were deployed on Base Sepoila
| Contract | Address |
|--------------------|-----------------|
| GeoMarktTrading | 0x79EbcC60E31e9DA03920bF80440C50Ceefa6ef0e |
| GeoMarktToken (GMT)| 0x87A7346C49CF630C5D63Bc02d056eA4988c67f01 |
| CityIndex (EPE) | 0x3Ef64494ffA42114FE9Eda91817aEBE5f54F1a3b |
| CityIndexFactory | 0x3b1B708D2a9B4f214F71Ad555Dd4e0d601327f18 |
|EPE CITY TOKEN(EPE) | 0xc77c2b7A3bAe71eb3cFC1700F675b34146A9A11C | N0te that EPE has 10 billion tokens because EPE is 10 billion sq feets
|PayMaster | 0xBd35aE6683Ce69239F79bc857b1C3D555f3C21Db | Note: We support GMT token for paymaster now.#
> ## live-link
## Demo Video (Clients POV)
https://github.com/user-attachments/assets/b04349c7-6df4-49f2-adc7-08feafe2b20b
- [Frontend Deployment](https://noisy-raincoat-many.on-fleek.app/)
- [Sub Graph Query](https://api.studio.thegraph.com/query/88691/geomarket/version/latest)
- [Figma design]()
- [Figma slides]()> ## Contributors
This Project was created by these awesome dedicated members
#
> ## Contributing to the project
If you find something worth contributing, please fork the repo, make a pull request and add valid and well-reasoned explanations about your changes or comments.
Before adding a pull request, please note:
- This is an open source project.
- Your contributions should be inviting and clear.
- Any additions should be relevant.
- New features should be easy to contribute to.All **`suggestions`** are welcome!
#
> ##### README Created by `Enebeli Emmanuel` for GeoMarkt