https://github.com/glamsystems/glam
GLAM is an onchain asset management and tokenization platform
to launch and manage investment products on Solana.
https://github.com/glamsystems/glam
solana
Last synced: about 1 year ago
JSON representation
GLAM is an onchain asset management and tokenization platform to launch and manage investment products on Solana.
- Host: GitHub
- URL: https://github.com/glamsystems/glam
- Owner: glamsystems
- License: apache-2.0
- Created: 2024-02-03T19:44:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T11:34:09.000Z (over 1 year ago)
- Last Synced: 2024-10-29T13:25:05.368Z (over 1 year ago)
- Topics: solana
- Language: TypeScript
- Homepage: https://glam.systems
- Size: 5.74 MB
- Stars: 14
- Watchers: 4
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README


## Onchain Asset Management on Solana
GLAM is a platform for deploying institutional-grade investment products on Solana. Through programmable vaults and mints, GLAM provides infrastructure for onchain operations with fine-grained acccess controls.
### Quick Links
- [Developer Documentation](https://docs.glam.systems)
- [TypeScript SDK](https://www.npmjs.com/package/@glamsystems/glam-sdk)
- [CLI Reference](https://github.com/glamsystems/glam/tree/main/cli#readme)
- [Graphical User Interface](https://gui.glam.systems)
## Development Setup
### Prerequisites
- Node v20.11.0 or higher
- Pnpm v9.1.2 or higher
- Rust v1.75.0 or higher
- Anchor CLI 0.30.1
- Solana CLI 1.18.23
Install Solana CLI (recommended):
```shell
sh -c "$(curl -sSfL https://release.anza.xyz/v1.18.23/install)"
```
### Installation
```shell
git clone https://github.com/glamsystems/glam.git
cd glam
pnpm install
```
### Testing
Build and run the test suite:
```shell
pnpm run anchor-build
pnpm run anchor-test
```
### Local Development
Start the development server:
```shell
pnpm run dev
```
## SDK Usage Example
```typescript
import * as anchor from "@coral-xyz/anchor";
import { GlamClient, WSOL } from "@glamsystems/glam-sdk";
import { PublicKey } from "@solana/web3.js";
const glamClient = new GlamClient();
const statePda = new PublicKey("FMHLPaEeCbuivqsAfHrr28FpWJ9oKHTx3jzFbb3tYhq4");
async function main() {
const vaultPda = glamClient.getVaultPda(statePda);
const vaultWsolBalance = await glamClient.getVaultTokenBalance(statePda, WSOL);
// Wrap 0.1 SOL
const txSig = await glamClient.wsol.wrap(statePda, new anchor.BN(100_000_000));
// Check updated balance
const vaultWsolBalanceAfter = await glamClient.getVaultTokenBalance(statePda, WSOL);
}
```
For detailed API documentation and advanced usage examples, visit our [Developer Documentation](https://docs.glam.systems).