ccxt-go
CCXT cryptocurrency exchange library for Go developers. Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors in Go projects. Use when working
Оригинален текст · няма потвърден превод на българскиПърво прочетете инструкцията.
Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.
GitHub хранилище- Звезди на репото
- 42 879
- Лиценз
- Не е посочен. Проверете в репозитория.
- Последна проверка на записа
- Няма посочена дата
Добавете в своя инструмент.
Командата отваря избора на skills от репозитория. Прочетете файла и условията на автора преди изпълнение.
npx skills add ccxt/ccxtСтраницата копира текст. Не инсталира и не изпълнява нищо на устройството ви.
Откъс от SKILL.md
Началото на файла на автора, без превод.
CCXT for Go
A comprehensive guide to using CCXT in Go projects for cryptocurrency exchange integration.
Installation
REST API
go get github.com/ccxt/ccxt/go/v4
WebSocket API (ccxt.pro)
go get github.com/ccxt/ccxt/go/v4/pro
Quick Start
REST API
package main
import (
"fmt"
"github.com/ccxt/ccxt/go/v4/binance"
)
func main() {
exchange := binance.New()
markets, err := exchange.LoadMarkets()
if err != nil {
panic(err)
}
ticker, err := exchange.FetchTicker("BTC/USDT")
if err != nil {
panic(err)
}
fmt.Println(ticker)
}
WebSocket API - Real-time Updates
package main
import (
"fmt"
"github.com/ccxt/ccxt/go/v4/pro/binance"
)
func main() {
exchange := binance.New()
defer exchange.Close()
for {
ticker, err := exchange.WatchTicker("BTC/USDT")
if err != nil {
panic(err)
}
fmt.Println(ticker.Last) // Live updates!
}
}
REST vs WebSocket
| Feature | REST API | WebSocket API |
|---|---|---|
| Use for | One-time queries, placing orders | Real-time monitoring, live price feeds |
| Import | github.com/ccxt/ccxt/go/v4/{exchange} | github.com/ccxt/ccxt/go/v4/pro/{exchange} |
| Methods | Fetch* (FetchTicker, FetchOrderBook) | Watch* (WatchTicker, WatchOrderBook) |
| Speed | Slower (HTTP request/response) | Faster (persistent connection) |
| Rate limits | Strict (1-2 req/sec) | More lenient (continuous stream) |
| Best for | Trading, account management | Price monitoring, arbitrage detection |
Important: All methods return (result, error) - always check errors!
Creating Exchange Instance
REST API
import "github.com/ccxt/ccxt/go/v4/binance"
// Public API (no authentication)
exchange := binance.New()
exchange.EnableRateLimit = true // Recommended!
// Private API (with authentication)
exchange := binance.New()
exchange.ApiKey = "YOUR_API_KEY"
exchange.Secret = "YOUR_SECRET"
exchange.EnableRateLimit = true
WebSocket API
import "github.com/ccxt/ccxt/go/v4/pro/binance"
// Public WebSocket
exchange := binance.New()
defer exchange.Close()
// Private WebSocket (with authentication)
exchange := binance.New()
exchange.ApiKey = "YOUR_API_KEY"
exchange.Secret = "YOUR_SECRET"
defer exchange.Close()