mirror of
https://github.com/logos-storage/logos-storage-go-bindings-example.git
synced 2026-04-03 17:53:11 +00:00
Update project to 0.3.1
This commit is contained in:
parent
b03fa6595f
commit
422c76f110
12
Makefile
12
Makefile
@ -4,7 +4,7 @@ LIBS_DIR := $(abspath ./libs)
|
||||
# Flags for CGO to find the headers and the shared library
|
||||
UNAME_S := $(shell uname -s)
|
||||
CGO_CFLAGS := -I$(LIBS_DIR)
|
||||
CGO_LDFLAGS := -L$(LIBS_DIR) -lcodex -Wl,-rpath,$(LIBS_DIR)
|
||||
CGO_LDFLAGS := -L$(LIBS_DIR) -lstorage -Wl,-rpath,$(LIBS_DIR)
|
||||
|
||||
ifeq ($(OS),Windows_NT)
|
||||
BIN_NAME := example.exe
|
||||
@ -15,15 +15,15 @@ endif
|
||||
# Configuration for fetching the right binary
|
||||
OS ?= "linux"
|
||||
ARCH ?= "amd64"
|
||||
VERSION ?= "v0.0.21"
|
||||
DOWNLOAD_URL := "https://github.com/codex-storage/codex-go-bindings/releases/download/$(VERSION)/codex-${OS}-${ARCH}.zip"
|
||||
VERSION ?= "v0.3.1"
|
||||
DOWNLOAD_URL := "https://github.com/logos-storage/logos-storage-nim/releases/download/$(VERSION)/libstorage-${OS}-${ARCH}-$(VERSION).zip"
|
||||
|
||||
all: run
|
||||
|
||||
fetch:
|
||||
@echo "Fetching libcodex from GitHub Actions from: ${DOWNLOAD_URL}"
|
||||
curl -fSL --create-dirs -o $(LIBS_DIR)/codex-${OS}-${ARCH}.zip ${DOWNLOAD_URL}
|
||||
unzip -o -qq $(LIBS_DIR)/codex-${OS}-${ARCH}.zip -d $(LIBS_DIR)
|
||||
@echo "Fetching libstorage from GitHub Actions from: ${DOWNLOAD_URL}"
|
||||
curl -fSL --create-dirs -o $(LIBS_DIR)/libstorage-${OS}-${ARCH}-$(VERSION).zip ${DOWNLOAD_URL}
|
||||
unzip -o -qq $(LIBS_DIR)/libstorage-${OS}-${ARCH}-$(VERSION).zip -d $(LIBS_DIR)
|
||||
rm -f $(LIBS_DIR)/*.zip
|
||||
|
||||
build:
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
# Example Codex Go Bindings
|
||||
# Example Logos Storage Go Bindings
|
||||
|
||||
This repository demonstrates how to integrate the [Codex Go bindings](https://github.com/codex-storage/codex-go-bindings) into a Go project.
|
||||
This repository demonstrates how to integrate the [Logos Storage Go bindings](https://github.com/logos-storage/logos-storage-go-bindings/) into a Go project.
|
||||
|
||||
The project starts a Codex node, uploads and downloads some data and then stops the node.
|
||||
The project starts a Logos Storage node, uploads and downloads some data and then stops the node.
|
||||
|
||||
## Usage
|
||||
|
||||
@ -28,7 +28,7 @@ OS="macos" ARCH="arm64" make fetch
|
||||
You can change the version by providing it as environment variables:
|
||||
|
||||
```sh
|
||||
VERSION="v0.0.21" make fetch
|
||||
VERSION="v0.3.2" make fetch
|
||||
```
|
||||
|
||||
The default folder is `libs`, you can change it by editing the `Makefile`.
|
||||
|
||||
2
go.mod
2
go.mod
@ -2,4 +2,4 @@ module example
|
||||
|
||||
go 1.25.1
|
||||
|
||||
require github.com/codex-storage/codex-go-bindings v0.0.21
|
||||
require github.com/logos-storage/logos-storage-go-bindings v0.0.30
|
||||
|
||||
26
go.sum
26
go.sum
@ -1,24 +1,2 @@
|
||||
github.com/codex-storage/codex-go-bindings v0.0.1 h1:u6Z/Y01Wpxckrg4ATsO/xD/9XVRa6PdHy2AVHYjx9iU=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.1/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.10 h1:szqFD1CWb5ELY+pnlj87PM+nUIiZwjnFYLzTgbiGsDQ=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.10/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.11 h1:mGzkebWuCwtfNinyplNBZ+QFlvlu0Wkg+wQ3fNegCJc=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.11/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.13 h1:svQT3hzH+J5ys5cPqNUXxrPYi57bfoNrzywFZiJZJDE=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.13/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.14 h1:Pk/DDEGW3OGTefEyoBHvw2RUgpAzG6TBtoMmtH1HXI4=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.14/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.15 h1:7usvjbqm5BjRICk7uLu1C+fU69cSLvefcH7rdCy9MTg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.15/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.16 h1:rDjkcR9NdN6JKVAdnX7RSGkkc5l3/din4QMDRAUJZ7w=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.16/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.17 h1:lKtYBqUIDsZdgEe1f4DGfv/K+ANx9b7VUtfIu8YOT6A=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.17/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.18 h1:0l9XEoH9O5Akg7KCJreZq5jQxdky8Y79T/2TopHdBIY=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.18/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.19 h1:zhEhwzcavvYdfkHpB5BH+PaqYvQ4VonIKhebS1vbKh0=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.19/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.20 h1:vK9jU8vafSJkMpOEHdPiQ9S8owSGUaPGVUxb7hKaIck=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.20/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.21 h1:DAwXw2Xq7wyKyI5j3Jk8ZYBruFP9dOpqEeVMOyEsJxA=
|
||||
github.com/codex-storage/codex-go-bindings v0.0.21/go.mod h1:8yC11Vr1Mu5sqZyQ33GaSCr0uUIbQnGkm0aWqZj62Kg=
|
||||
github.com/logos-storage/logos-storage-go-bindings v0.0.30 h1:9shX7u87WjsZKwUVzWxafpNSd/X5ii33WvYLjo5vTBs=
|
||||
github.com/logos-storage/logos-storage-go-bindings v0.0.30/go.mod h1:5NzkHakOYX0iwgJk9X6NKN3AoDIvr8JTwpnl5SWdPVg=
|
||||
|
||||
27
main.go
27
main.go
@ -2,34 +2,35 @@ package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/codex-storage/codex-go-bindings/codex"
|
||||
"github.com/logos-storage/logos-storage-go-bindings/storage"
|
||||
)
|
||||
|
||||
func main() {
|
||||
node, err := codex.New(codex.Config{
|
||||
node, err := storage.New(storage.Config{
|
||||
BlockRetries: 5,
|
||||
})
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to create Codex node: %v", err)
|
||||
log.Fatalf("Failed to create Logos Storage node: %v", err)
|
||||
}
|
||||
|
||||
version, err := node.Version()
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to get Codex version: %v", err)
|
||||
log.Fatalf("Failed to get Logos Storage version: %v", err)
|
||||
}
|
||||
log.Printf("Codex version: %s", version)
|
||||
log.Printf("Logos Storage version: %s", version)
|
||||
|
||||
if err := node.Start(); err != nil {
|
||||
log.Fatalf("Failed to start Codex node: %v", err)
|
||||
log.Fatalf("Failed to start Logos Storage node: %v", err)
|
||||
}
|
||||
log.Println("Codex node started")
|
||||
log.Println("Logos Storage node started")
|
||||
|
||||
buf := bytes.NewBuffer([]byte("Hello World!"))
|
||||
len := buf.Len()
|
||||
cid, err := node.UploadReader(codex.UploadOptions{Filepath: "hello.txt"}, buf)
|
||||
cid, err := node.UploadReader(context.Background(), storage.UploadOptions{Filepath: "hello.txt"}, buf)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to upload data: %v", err)
|
||||
}
|
||||
@ -41,11 +42,11 @@ func main() {
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
opt := codex.DownloadStreamOptions{
|
||||
opt := storage.DownloadStreamOptions{
|
||||
Writer: f,
|
||||
}
|
||||
|
||||
if err := node.DownloadStream(cid, opt); err != nil {
|
||||
if err := node.DownloadStream(context.Background(), cid, opt); err != nil {
|
||||
log.Fatalf("Failed to download data: %v", err)
|
||||
}
|
||||
|
||||
@ -57,11 +58,11 @@ func main() {
|
||||
// <-ch
|
||||
|
||||
if err := node.Stop(); err != nil {
|
||||
log.Fatalf("Failed to stop Codex node: %v", err)
|
||||
log.Fatalf("Failed to stop Logos Storage node: %v", err)
|
||||
}
|
||||
log.Println("Codex node stopped")
|
||||
log.Println("Logos Storage node stopped")
|
||||
|
||||
if err := node.Destroy(); err != nil {
|
||||
log.Fatalf("Failed to destroy Codex node: %v", err)
|
||||
log.Fatalf("Failed to destroy Logos Storage node: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user