modulepackage
1.0.34-alpha
Repository: https://github.com/creator1024/okex.git
Documentation: pkg.go.dev
# README
okex
NOTICE:
PACKAGE IS CURRENTLY UNDER HEAVY DEVELOPMENT AND THERE IS NO GUARANTY FOR STABILITY UNTIL V1 RELEASE.
Okex V5 Golang API
A complete golang wrapper for Okex V5 API. Pretty simple and easy to use. For more info about Okex V5 API read here.
Installation
go get github.com/Creator1024/[email protected]
Usage
package main
import (
"context"
"github.com/Creator1024/okex"
"github.com/Creator1024/okex/api"
"github.com/Creator1024/okex/events"
"github.com/Creator1024/okex/events/private"
ws_private_requests "github.com/Creator1024/okex/requests/ws/private"
ws_public_requests "github.com/Creator1024/okex/requests/ws/public"
"log"
)
func main() {
apiKey := "YOUR-API-KEY"
secretKey := "YOUR-SECRET-KEY"
passphrase := "YOUR-PASS-PHRASE"
dest := okex.NormalServer // The main API server
ctx := context.Background()
client, err := api.NewClient(ctx, apiKey, secretKey, passphrase, &dest)
if err != nil {
log.Fatalln(err)
}
response, err := client.Rest.Account.GetConfig()
if err != nil {
log.Fatalln(err)
}
log.Printf("Account Config %+v", response)
errChan := make(chan *events.Error)
subChan := make(chan *events.Subscribe)
uSubChan := make(chan *events.Unsubscribe)
lCh := make(chan *events.Login)
oCh := make(chan *private.Order)
iCh := make(chan *public.Instruments)
// to receive unique events individually in separated channels
client.Ws.SetChannels(errChan, subChan, uSubChan, lCh)
// subscribe into orders private channel
// it will do the login process and wait until authorization confirmed
err = client.Ws.Private.Order(ws_private_requests.Order{
InstType: okex.SwapInstrument,
}, oCh)
if err != nil {
log.Fatalln(err)
}
// subscribe into instruments public channel
// it doesn't need any authorization
err = client.Ws.Public.Instruments(ws_public_requests.Instruments{
InstType: okex.SwapInstrument,
}, iCh)
if err != nil {
log.Fatalln("Instruments", err)
}
// starting on listening
for {
select {
case <-lCh:
log.Print("[Authorized]")
case sub := <-subChan:
channel, _ := sub.Arg.Get("channel")
log.Printf("[Subscribed]\t%s", channel)
case uSub := <-uSubChan:
channel, _ := uSub.Arg.Get("channel")
log.Printf("[Unsubscribed]\t%s", channel)
case err := <-client.Ws.ErrChan:
log.Printf("[Error]\t%+v", err)
case o := <-oCh:
log.Print("[Event]\tOrder")
for _, p := range o.Orders {
log.Printf("\t%+v", p)
}
case i := <-iCh:
log.Print("[Event]\tInstrument")
for _, p := range i.Instruments {
log.Printf("\t%+v", p)
}
case e := <-client.Ws.StructuredEventChan:
log.Printf("[Event] STRUCTED:\t%+v", e)
v := reflect.TypeOf(e)
switch v {
case reflect.TypeOf(events.Error{}):
log.Printf("[Error] STRUCTED:\t%+v", e)
case reflect.TypeOf(events.Subscribe{}):
log.Printf("[Subscribed] STRUCTED:\t%+v", e)
case reflect.TypeOf(events.Unsubscribe{}):
log.Printf("[Unsubscribed] STRUCTED:\t%+v", e)
}
case e := <-client.Ws.RawEventChan:
log.Printf("[Event] RAW:\t%+v", e)
case b := <-client.Ws.DoneChan:
log.Printf("[End]:\t%v", b)
return
}
}
}
Supporting APIs
- Rest
- Trade (except demo special trading endpoints)
- Funding
- Account
- SubAccount
- Market Data
- Public Data
- Trading Data
- Ws
- Private Channel (except demo special trading endpoints)
- Public Channel
- Trade
Features
- All requests, responses, and events are well typed and will convert into the language built-in types instead of using API's strings. Note that zero values will be replaced with non-existing data.
- Fully automated authorization steps for both REST and WS
- To receive websocket events you can choose RawEventChan , StructuredEventChan, or provide your own channels. More info
# Functions
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author