Cex.io est un site d’achat et de vente de possibilités de générer des Bitcoins. Il permet d’acheter ou de vendre des GH/s. Le GH/s correspond à la capacité de calcul nécessaire à générer des Bitcoins.
Le site Cex.io propose les API pour les langages suivants : Php, Node.js et Python. Malheureusement, certaines de ces API ne me conviennent pas ou sont incomplètes.
Le projet qui nécessite d’utiliser une telle API est un projet réalisé en langage Go. J’ai donc essayé de développer une API dans ce langage pour le site Cex.io et pour les besoins du projet.
L’API est disponible à cette adresse : https://github.com/jhautefeuille/go-cexio-api.
L’API s’utilise de la façon suivante :
package main
import (
"github.com/jhautefeuille/go-cexio-api"
"fmt"
)
func main() {
cexapi := cexio.CexKey{
Username:"your_username",
Api_key:"your_api_key",
Api_secret:"your_api_secret"}
// Public
fmt.Printf("Ticker => %s\n", cexapi.Ticker("GHS/BTC"))
//fmt.Printf("Order Book => %s\n", cexapi.OrderBook("GHS/BTC"))
//fmt.Printf("Trade History => %s\n", cexapi.TradeHistory("GHS/BTC"))
// Private
fmt.Printf("Balance => %s\n", cexapi.Balance())
fmt.Printf("Open Orders => %s\n", cexapi.OpenOrders("GHS/BTC"))
// Trading orders
//fmt.Printf("Place Order => %s\n", cexapi.PlaceOrder("buy", "0.001", "0.017", "GHS/BTC"))
//fmt.Printf("Cancel Order => %s\n", cexapi.CancelOrder("477571539"))
// Workers
fmt.Printf("Hashrate => %s\n", cexapi.Hashrate())
fmt.Printf("Workers => %s\n", cexapi.Workers())
}
Un utilisateur m’a contacté au sujet de cette API. D’autres versions améliorées sont à prévoir. Le développement de cette application m’a permis d’appréhender le langage Go que je n’avais pas encore utilisé.