Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gagliardetto/anchor-go
Generate Go clients from anchor IDLs for Solana blockchain programs
https://github.com/gagliardetto/anchor-go
anchor golang solana
Last synced: 6 days ago
JSON representation
Generate Go clients from anchor IDLs for Solana blockchain programs
- Host: GitHub
- URL: https://github.com/gagliardetto/anchor-go
- Owner: gagliardetto
- License: mit
- Created: 2021-08-03T12:14:15.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T08:19:49.000Z (5 months ago)
- Last Synced: 2024-12-13T14:07:41.548Z (13 days ago)
- Topics: anchor, golang, solana
- Language: Go
- Homepage:
- Size: 3.41 MB
- Stars: 184
- Watchers: 6
- Forks: 46
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# anchor-go
![logo](logo.png)
## usage
```bash
anchor-go --src=/path/to/idl.json
```Generated Code will be generated and saved to `./generated/`.
## TODO
- [x] instructions
- [x] accounts
- [x] types
- [ ] events
- [ ] errors
- [ ] handle tuple types
- [ ] constants## Future Development
TBD
## what is anchor-go?
`anchor-go` generates Go clients for [Solana](https://solana.com/) programs (smart contracts) written using the [anchor](https://github.com/project-serum/anchor) framework.
## what is anchor?
Link: https://github.com/project-serum/anchor
```
Anchor is a framework for Solana's Sealevel runtime providing several convenient developer tools for writing smart contracts.
```## I have an anchor program; how do I generate a Go client for it? (step by step)
### example 1: metaplex nft candy machine
```bash
git clone https://github.com/metaplex-foundation/metaplex-program-library.git
cd metaplex-program-library
anchor idl parse -f candy-machine/program/src/lib.rs -o nft_candy_machine_v2.json
anchor-go --src=nft_candy_machine_v2.json
```Note
----- anchor-go is in active development, so all APIs are subject to change.
- This code is unaudited. Use at your own risk.