Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature/more-examples-6 #3615

Merged
merged 17 commits into from
Apr 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions examples/templates/README.md.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# [{NAME}]

Test case for [{NAME}].
8 changes: 8 additions & 0 deletions examples/templates/go.mod.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module github.com/TrueBlocks/trueblocks-core/examples/[{LOWER}]

// Go Version
go 1.22

replace github.com/TrueBlocks/trueblocks-core/sdk => ../../sdk

require github.com/TrueBlocks/trueblocks-core v2.5.8-release.0.20240422010715-cf442e547b61+incompatible // indirect
28 changes: 28 additions & 0 deletions examples/templates/main.go.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package main

import (
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
)

func main() {
opts := sdk.BlocksOptions{
BlockIds: []string{"latest"},
}

blocks, _, err := opts.Blocks()
if err != nil {
fmt.Println(err)
return
}

fmt.Println("[")
for i, block := range blocks {
if i > 0 {
fmt.Println(",")
}
fmt.Println(block.String())
}
fmt.Println("]")
}
9 changes: 9 additions & 0 deletions examples/templates/main_test.go.tmpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package main

import (
"testing"
)

func TestMainFunction(t *testing.T) {
main()
}
22 changes: 22 additions & 0 deletions examples/usesSdk/abis.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package main

import (
"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/types"
)

// DoAbis tests the When sdk function
func DoAbis() {
logger.Info("DoAbis")

opts := sdk.AbisOptions{
Addrs: []string{"uniswap.eth"},
}

if functions, _, err := opts.Abis(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.Function]("usesSDK/abis.json", functions)
}
}
72 changes: 72 additions & 0 deletions examples/usesSdk/blocks.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
package main

import (
"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/types"
)

// DoBlocks tests the Blocks sdk function
func DoBlocks() {
logger.Info("DoBlocks")

opts := sdk.BlocksOptions{
BlockIds: testBlocks,
Globals: sdk.Globals{
Cache: true,
},
}

if blocks, _, err := opts.Blocks(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.Block[types.Transaction]]("usesSDK/blocks.json", blocks)
}

opts.Hashes = true
if blocks, _, err := opts.BlocksHashes(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.Block[string]]("usesSDK/blocks-hashes.json", blocks)
}

opts.Hashes = false
opts.Traces = true
if traces, _, err := opts.BlocksTraces(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.Trace]("usesSDK/blocks-traces.json", traces)
}

opts.Traces = false
opts.Uniq = true
// if apps, _, err := opts.BlocksUniq(); err != nil {
// logger.Fatal(err)
// } else {
// SaveToFile[types.Appearance]("usesSDK/blocks-uniq.json", apps)
// }

opts.Uniq = false
opts.Logs = true
if logs, _, err := opts.BlocksLogs(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.Log]("usesSDK/blocks-logs.json", logs)
}

opts.Logs = false
opts.Withdrawals = true
if withdrawals, _, err := opts.BlocksWithdrawals(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.Withdrawal]("usesSDK/blocks-withdrawals.json", withdrawals)
}

opts.Withdrawals = false
opts.Count = false
if counts, _, err := opts.BlocksCount(); err != nil {
logger.Fatal(err)
} else {
SaveToFile[types.BlockCount]("usesSDK/blocks-count.json", counts)
}
}
34 changes: 34 additions & 0 deletions examples/usesSdk/chunks.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package main

import (
"bytes"
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoChunks tests the When sdk function
func DoChunks() {
logger.Info("DoChunks")

opts := sdk.ChunksOptions{
Mode: sdk.CMIndex,
}

buf := bytes.Buffer{}
if err := opts.ChunksBytes(&buf); err != nil {
logger.Fatal(err)
}

file.StringToAsciiFile("usesSDK/chunks.json", buf.String())
fmt.Println(buf.String())
}
// func (opts *ChunksOptions) ChunksManifest() ([]types.ChunkRecord, *types.MetaData, error) {
// func (opts *ChunksOptions) ChunksIndex() ([]types.ChunkIndex, *types.MetaData, error) {
// func (opts *ChunksOptions) ChunksBlooms() ([]types.ChunkBloom, *types.MetaData, error) {
// func (opts *ChunksOptions) ChunksPins() ([]types.ChunkPinReport, *types.MetaData, error) {
// func (opts *ChunksOptions) ChunksAddresses() ([]types.ChunkAddress, *types.MetaData, error) {
// // func (opts *ChunksOptions) ChunksAppearances() ([]types.ChunkAppearance, *types.MetaData, error) {
// func (opts *ChunksOptions) ChunkStats() ([]types.ChunkStats, *types.MetaData, error) {
27 changes: 27 additions & 0 deletions examples/usesSdk/config.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package main

import (
"bytes"
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoConfig tests the When sdk function
func DoConfig() {
logger.Info("DoConfig")

opts := sdk.ConfigOptions{
Mode: sdk.CMShow,
}

buf := bytes.Buffer{}
if err := opts.ConfigBytes(&buf); err != nil {
logger.Fatal(err)
}

file.StringToAsciiFile("usesSDK/config.json", buf.String())
fmt.Println(buf.String())
}
22 changes: 22 additions & 0 deletions examples/usesSdk/daemon.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package main

import (
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoDaemon tests the When sdk function
func DoDaemon() {
logger.Info("DoDaemon")

// opts := sdk.DaemonOptions{
// Mode: sdk.CMIndex,
// }

// buf := bytes.Buffer{}
// if err := opts.Daemon(&buf); err != nil {
// logger.Fatal(err)
// }

file.StringToAsciiFile("usesSDK/daemon.json", "daemon is not an sdk option")
}
22 changes: 22 additions & 0 deletions examples/usesSdk/explore.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package main

import (
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoExplore tests the When sdk function
func DoExplore() {
logger.Info("DoExplore")

// opts := sdk.ExploreOptions{
// Mode: sdk.CMIndex,
// }

// buf := bytes.Buffer{}
// if err := opts.Explore(&buf); err != nil {
// logger.Fatal(err)
// }

file.StringToAsciiFile("usesSDK/explore.json", "explore is not an SDK option")
}
36 changes: 36 additions & 0 deletions examples/usesSdk/export.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package main

import (
"bytes"
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoExport tests the When sdk function
func DoExport() {
logger.Info("DoExport")

opts := sdk.ExportOptions{
Addrs: []string{testAddrs[0]},
}

buf := bytes.Buffer{}
if err := opts.ExportBytes(&buf); err != nil {
logger.Fatal(err)
}

file.StringToAsciiFile("usesSDK/export.json", buf.String())
fmt.Println(buf.String())
}
// func (opts *ExportOptions) Export() ([]types.Transaction, *types.MetaData, error) {
// func (opts *ExportOptions) ExportAppearances() ([]types.Appearance, *types.MetaData, error) {
// func (opts *ExportOptions) ExportReceipts() ([]types.Receipt, *types.MetaData, error) {
// func (opts *ExportOptions) ExportLogs() ([]types.Log, *types.MetaData, error) {
// func (opts *ExportOptions) ExportTraces() ([]types.Trace, *types.MetaData, error) {
// func (opts *ExportOptions) ExportStatements() ([]types.Statement, *types.MetaData, error) {
// func (opts *ExportOptions) ExportBalances() ([]types.State, *types.MetaData, error) {
// func (opts *ExportOptions) ExportWithdrawals() ([]types.Withdrawal, *types.MetaData, error) {
// func (opts *ExportOptions) ExportCount() ([]types.AppearanceCount, *types.MetaData, error) {
8 changes: 8 additions & 0 deletions examples/usesSdk/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module github.com/TrueBlocks/trueblocks-core/examples/usesSdk

// Go Version
go 1.22

replace github.com/TrueBlocks/trueblocks-core/sdk => ../../sdk

require github.com/TrueBlocks/trueblocks-core v2.5.8-release.0.20240422010715-cf442e547b61+incompatible // indirect
28 changes: 28 additions & 0 deletions examples/usesSdk/init.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package main

import (
"bytes"
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoInit tests the When sdk function
func DoInit() {
logger.Info("DoInit")

opts := sdk.InitOptions{
All: true,
}

buf := bytes.Buffer{}
if err := opts.InitBytes(&buf); err != nil {
logger.Fatal(err)
}

file.StringToAsciiFile("usesSDK/init.json", buf.String())
fmt.Println(buf.String())
}
// func (opts *InitOptions) InitAll() ([]bool, *types.MetaData, error) {
30 changes: 30 additions & 0 deletions examples/usesSdk/list.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package main

import (
"bytes"
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoList tests the When sdk function
func DoList() {
logger.Info("DoList")

opts := sdk.ListOptions{
Addrs: []string{testAddrs[0]},
}

buf := bytes.Buffer{}
if err := opts.ListBytes(&buf); err != nil {
logger.Fatal(err)
}

file.StringToAsciiFile("usesSDK/list.json", buf.String())
fmt.Println(buf.String())
}
// func (opts *ListOptions) List() ([]types.Appearance, *types.MetaData, error) {
// func (opts *ListOptions) ListCount() ([]types.AppearanceCount, *types.MetaData, error) {
// func (opts *ListOptions) ListBounds() ([]types.Bounds, *types.MetaData, error) {
28 changes: 28 additions & 0 deletions examples/usesSdk/logs.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package main

import (
"bytes"
"fmt"

"github.com/TrueBlocks/trueblocks-core/sdk"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/file"
"github.com/TrueBlocks/trueblocks-core/src/apps/chifra/pkg/logger"
)

// DoLogs tests the When sdk function
func DoLogs() {
logger.Info("DoLogs")

opts := sdk.LogsOptions{
TransactionIds: []string{"10001002.0"},
}

buf := bytes.Buffer{}
if err := opts.LogsBytes(&buf); err != nil {
logger.Fatal(err)
}

file.StringToAsciiFile("usesSDK/logs.json", buf.String())
fmt.Println(buf.String())
}
// func (opts *LogsOptions) Logs() ([]types.Log, *types.MetaData, error) {
Loading
Loading