The Gem Core library is a Rust monorepo that serves as the backend infrastructure and cross platform libraries for the Gem Wallet on Android and iOS. It handles various tasks, including:
- Push notifications
- Pricing information
- Asset updating
- Shared modes using TypeShare
- Crypto primitives
- More
The Gemstone is a cross-platform library for Swift and Kotlin.
The underlying cryptography / keystore for Gem Wallet is implemented using Trust Wallet Core for now.
graph LR
client[Gem Wallet iOS / Android]
core-lib[Gem Wallet Core]
trust-core[Trust Wallet Core]
client-- pricing, notification and ... -->core-lib
client-- cryptography such as seed generation and ... -->trust-core
Note: According to the roadmap, in the future, the client will only interact with the Gem Wallet Core, and the interaction with the Trust Wallet Core will be the responsibility of the Gem Wallet Core.
Run make install
to install rust, typeshare
- Create a new database
api
and grant privileges tousername
role - Run
diesel migration run
to create tables and do migrations
Chain | Transfers | Token Transfers |
---|---|---|
Bitcoin | ✅ | -- |
Litecoin | ✅ | -- |
Doge | ✅ | -- |
Ethereum | ✅ | ✅ |
SmartChain | ✅ | ✅ |
Solana | ✅ | ✅ |
Polygon | ✅ | ✅ |
Thorchain | ✅ | 🏗 |
Cosmos | ✅ | 🏗 |
Osmosis | ✅ | 🏗 |
Arbitrum | ✅ | ✅ |
Ton | ✅ | 🏗 |
Tron | ✅ | ✅ |
Optimism | ✅ | ✅ |
Aptos | ✅ | 🏗 |
Base | ✅ | ✅ |
AvalancheC | ✅ | ✅ |
Sui | ✅ | 🏗 |
Xrp | ✅ | 🏗 |
OpBNB | ✅ | ✅ |
List of available chains specified in primitives package.