Create storage order

When acting as a storage service, creating a storage order is the first transaction for storing files.

package main

import (
	"context"
	"fmt"
	"os"

	cess "github.com/CESSProject/cess-go-sdk"
)

var RPC_ADDRS = []string{
	"wss://testnet-rpc0.cess.cloud/ws/",
	"wss://testnet-rpc1.cess.cloud/ws/",
	"wss://testnet-rpc2.cess.cloud/ws/",
}

var upload_file = "test.log"
var storage_bucket = "my-bucket"

func main() {
	sdk, err := cess.New(
		context.Background(),
		cess.ConnectRpcAddrs(RPC_ADDRS),
	)
	if err != nil {
		panic(err)
	}

	fileSt, err := os.Stat(upload_file)
	if err != nil {
		panic(err)
	}

	// Processing file
	segmentDataInfo, fid, err := sdk.ShardedEncryptionProcessing(upload_file, "")
	if err != nil {
		panic(err)
	}

	// create storage order
	txhash, err := sdk.GenerateStorageOrder(
		fid,
		segmentDataInfo,
		sdk.GetSignatureAccPulickey(),
		upload_file,
		storage_bucket,
		uint64(fileSt.Size()),
	)

	fmt.Println(txhash, err)
}

Last updated