Skip to content
Closed
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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 7 additions & 7 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,17 +86,17 @@ When I say "Let's go into design mode" or similar, switch to these rules:

TrueBlocks is a Go-based blockchain data indexing system that provides fast, local access to Ethereum transaction data through the "Unchained Index". The project consists of:

- **chifra**: Main CLI tool (`src/apps/chifra/`) built with Cobra framework
- **chifra**: Main CLI tool (`chifra/`) built with Cobra framework
- **SDK**: Multi-language bindings (Go, TypeScript, Python) in `sdk/`
- **khedra**: Extension system for specialized indexing (`khedra/`)
- **examples**: Integration examples demonstrating SDK usage (`examples/`)

## Architecture Patterns

**Command Structure**: Each chifra command follows the pattern:
- Command definition in `src/apps/chifra/cmd/[command].go`
- Internal logic in `src/apps/chifra/internal/[command]/`
- Package-specific types in `src/apps/chifra/pkg/types/`
- Command definition in `chifra/cmd/[command].go`
- Internal logic in `chifra/internal/[command]/`
- Package-specific types in `chifra/pkg/types/`

**Data Flow**: RPC → Cache → Index → Output
- RPC calls through `pkg/rpc/`
Expand All @@ -117,7 +117,7 @@ TrueBlocks is a Go-based blockchain data indexing system that provides fast, loc
# Full build with CMake
cd build && make
# Go build only (always use -o /tmp to avoid workspace clutter)
cd src/apps/chifra && go build -o /tmp/chifra
cd chifra && go build -o /tmp/chifra
# For other modules
go build -o /tmp/[binary-name] .
```
Expand Down Expand Up @@ -178,7 +178,7 @@ go build -o /tmp/[binary-name] .

## Key Files to Reference

- `src/apps/chifra/cmd/root.go` - CLI framework setup
- `src/apps/chifra/pkg/base/types.go` - Core type definitions
- `chifra/cmd/root.go` - CLI framework setup
- `chifra/pkg/base/types.go` - Core type definitions
- `examples/simple/main.go` - Basic SDK usage pattern
- `scripts/test-all.sh` - Complete testing workflow
2 changes: 1 addition & 1 deletion .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: BuildAndTest
on: [pull_request, workflow_dispatch]
env:
CHIFRA_PATH: src/apps/chifra
CHIFRA_PATH: chifra
KHEDRA_PATH: khedra
# Go Version
GO_VERSION: 1.25.1
Expand Down
6 changes: 3 additions & 3 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@ linters:
rules:
- linters:
- ineffassign
path: src/apps/chifra/internal/scrape/handle_show.go
path: internal/scrape/handle_show.go
- linters:
- ineffassign
path: src/apps/chifra/internal/[^/]+/options\.go
path: internal/[^/]+/options\.go
- linters:
- ineffassign
path: src/apps/chifra/pkg/types/types_
path: pkg/types/types_
- linters:
- errcheck
- goconst
Expand Down
2 changes: 1 addition & 1 deletion .goreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
version: 2
builds:
- dir: src/apps/chifra
- dir: chifra
env:
- CGO_ENABLED=0
goos:
Expand Down
12 changes: 6 additions & 6 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -1531,7 +1531,7 @@ gh pr list --search "is:pr is:closed closed:>2024-06-04" --limit 300 --state mer
- #3677 Feature/more examples 12
- #3674 Feature/more examples 11
- #3672 Feature/more examples 10
- #3671 Updates go.mod in src/apps/chifra
- #3671 Updates go.mod in chifra
- #3666 Shows covalent and alchemy in chifra slurp --help
- #3663 Bugfix/slurp enum
- #3662 Fixes tokens sdk fuzzer
Expand Down Expand Up @@ -1563,9 +1563,9 @@ gh pr list --search "is:pr is:closed closed:>2024-06-04" --limit 300 --state mer
- #3594 Fixes tests
- #3593 Removes Simple throughout
- #3591 Remove all cpp code 3
- #3589 Bump golang.org/x/net from 0.10.0 to 0.23.0 in /src/apps/chifra
- #3589 Bump golang.org/x/net from 0.10.0 to 0.23.0 in /chifra
- #3588 Don't call fatal in handler
- #3586 Bump golang.org/x/net from 0.10.0 to 0.23.0 in /src/apps/chifra
- #3586 Bump golang.org/x/net from 0.10.0 to 0.23.0 in /chifra
- #3584 Slurp: Covalent provider
- #3579 Feature/slurp key endpoint support
- #3578 Enable daemon sdk
Expand All @@ -1592,8 +1592,8 @@ gh pr list --search "is:pr is:closed closed:>2024-06-04" --limit 300 --state mer
- #3545 Adds an example for optimism
- #3541 Feature/test sdk 2
- #3540 Bug/better progress logger
- #3539 Bump google.golang.org/protobuf in /src/apps/chifra
- #3538 Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /src/apps/chifra
- #3539 Bump google.golang.org/protobuf in /chifra
- #3538 Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 in /chifra
- #3535 Cleans up some enums especially chifra tokens
- #3530 Improves messaging to make debugging accounting easier
- #3528 Shows RPC endpoint when scraper starts
Expand Down Expand Up @@ -1632,7 +1632,7 @@ gh pr list --search "is:pr is:closed closed:>2024-06-04" --limit 300 --state mer
- #3470 Moves monitor freshening to monitor package
- #3469 Fix typos
- #3465 Adds curl debugging throughout
- #3462 Bump golang.org/x/crypto from 0.6.0 to 0.17.0 in /src/apps/chifra
- #3462 Bump golang.org/x/crypto from 0.6.0 to 0.17.0 in /chifra
- #3461 Fix/accounting 5
- #3459 Fix/accounting 4
- #3456 Fix/accounting 3
Expand Down
6 changes: 3 additions & 3 deletions MIGRATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The repository structure has been completely reorganized with proper Go module v

**Old import path:**
```go
github.com/TrueBlocks/trueblocks-core/src/apps/chifra
github.com/TrueBlocks/trueblocks-core/chifra
```

**New import path:**
Expand Down Expand Up @@ -64,7 +64,7 @@ module your-project
go 1.21

require (
github.com/TrueBlocks/trueblocks-core/src/apps/chifra v0.0.0
github.com/TrueBlocks/trueblocks-core/chifra v0.0.0
github.com/TrueBlocks/trueblocks-sdk/v5 v5.9.3
)
```
Expand Down Expand Up @@ -117,7 +117,7 @@ module your-project
go 1.21

require (
github.com/TrueBlocks/trueblocks-core/src/apps/chifra v5.9.3
github.com/TrueBlocks/trueblocks-core/chifra v5.9.3
github.com/TrueBlocks/trueblocks-sdk/v5 v5.9.3
github.com/TrueBlocks/trueblocks-khedra/v5 v5.9.3
)
Expand Down
2 changes: 1 addition & 1 deletion chifra
Submodule chifra updated 123 files
31 changes: 0 additions & 31 deletions core.code-workspace

This file was deleted.

2 changes: 1 addition & 1 deletion dev-tools/goMaker
Submodule goMaker updated 37 files
+51 −2 .github/copilot-instructions.md
+6 −4 README.md
+1 −1 VERSION
+1 −2 go.mod
+2 −2 go.sum
+2 −2 help.txt
+2 −0 help_verbose.txt
+50 −9 main.go
+3 −3 package.json
+2 −0 templates/classDefinitions/approval.toml
+1 −1 templates/classDefinitions/result.toml
+2 −0 templates/classDefinitions/token.toml
+2 −2 templates/cmd-line-options.csv
+ templates/generators/.DS_Store
+0 −30 templates/generators/codebase/src_apps_chifra_cmd_helpfile.go.tmpl
+0 −44 templates/generators/codebase/src_apps_chifra_internal_daemon_routes.go.tmpl
+0 −34 templates/generators/codebase/src_apps_chifra_pkg_types_modeler.go.tmpl
+0 −15 templates/generators/codebase/src_apps_chifra_pkg_version_string.go.tmpl
+0 −84 templates/generators/routes/examples_withStreaming_stream+route.go.tmpl
+0 −66 templates/generators/routes/src_apps_chifra_cmd_route.go.tmpl
+0 −20 templates/generators/routes/src_apps_chifra_internal_route_README.md.tmpl
+0 −15 templates/generators/routes/src_apps_chifra_internal_route_doc.go.tmpl
+0 −135 templates/generators/routes/src_apps_chifra_internal_route_options.go.tmpl
+0 −66 templates/generators/routes/src_apps_chifra_internal_route_output.go.tmpl
+0 −39 templates/generators/routes/src_apps_chifra_sdk_route.go.tmpl
+1 −1 templates/generators/routes/src_dev+tools_goMaker_generated_readme+route.md.tmpl
+0 −54 templates/generators/types/src_apps_chifra_pkg_types_type+sort.go.tmpl
+0 −180 templates/generators/types/src_apps_chifra_pkg_types_type.go.tmpl
+131 −5 types/load.go
+32 −5 types/process_structure.go
+6 −1 types/types_codebase.go
+6 −1 types/types_command.go
+1 −0 types/types_facet.go
+46 −1 types/types_member.go
+4 −0 types/types_option.go
+36 −34 types/types_structure.go
+74 −28 types/utils.go
2 changes: 1 addition & 1 deletion dev-tools/testRunner
15 changes: 13 additions & 2 deletions docs/config/_default/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,24 @@ canonifyURLs = false
disableAliases = false
disableHugoGeneratorInject = true
enableEmoji = true
enableGitInfo = true
enableGitInfo = false
enableRobotsTXT = true
languageCode = "en-US"
paginate = 10
rssLimit = 10
googleAnalytics="G-4M60J4ZGSQ"

# Exclude non-Hugo files and directories from processing
ignoreFiles = [
"lambda/.*",
"\\.redocly\\.yaml$",
"makefile$",
"node_modules/.*",
"\\.git/.*"
]

[pagination]
pagerSize = 10

# add redirects/headers
[outputs]
home = ["HTML", "RSS"]
Expand Down
6 changes: 6 additions & 0 deletions docs/config/_default/menus.toml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@
url = "/papers/2023"
weight = 50

[[main]]
identifier = "applications"
name = "Applications"
url = "/applications/"
weight = 750

[[main]]
identifier = "faq"
name = "FAQ"
Expand Down
106 changes: 106 additions & 0 deletions docs/content/applications/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
title: "TrueBlocks Applications (mini-dApps)"
description: "TrueBlocks mini-dApps for blockchain analysis"
lead: "Get perfectly private, super fast local desktop applications giving you direct, permissionless access to any blockchain. Know what's happening without anyone knowing you know."
date: 2025-11-09T00:00:00-00:00
draft: true
---

<div class="app-section">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6">
<h2 class="app-title" style="color: #fff; font-weight: 800;">TrueBlocks Explorer</h2>
<div class="app-description">
<p>Explore the blockchain like never before with TrueBlocks Explorer. Get complete, accurate, and fast access to transaction data with our revolutionary indexing technology.</p>
<p>Features include real-time transaction monitoring, advanced filtering, custom dashboards, and multi-chain support. All running locally on your machine for maximum privacy and speed.</p>
<a href="mailto:info@quickblocks.io?subject=Join TrueBlocks Explorer Beta" class="btn" style="background-color: #28a745; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; display: inline-block; margin-top: 15px;">Join Beta...</a>
</div>
</div>
<div class="col-lg-6">
<img src="images/explorer.png" alt="TrueBlocks Explorer Screenshot" class="app-image" style="transform: scale(1.5, 1.5); transform-origin: left center;">
</div>
</div>
</div>
</div>

<div class="app-section">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6 order-lg-2">
<h2 class="app-title">TrueBlocks Approvals</h2>
<div class="app-description" style="margin-left: 50%; width: 75%;">
<p>Monitor and manage your token approvals across all DeFi protocols. TrueBlocks Approvals gives you complete visibility into what contracts can access your tokens.</p>
<p>Stay secure by tracking unlimited approvals, getting alerts for suspicious activity, and easily revoking permissions you no longer need. All powered by TrueBlocks' comprehensive indexing.</p>
<a href="mailto:info@quickblocks.io?subject=Join TrueBlocks Approvals Beta" class="btn" style="background-color: #28a745; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; display: inline-block; margin-top: 15px;">Join Beta...</a>
</div>
</div>
<div class="col-lg-6 order-lg-1">
<img src="images/approvals.png" alt="TrueBlocks Approvals Screenshot" class="app-image" style="transform: scale(1.5, 1.5); transform-origin: left center;">
</div>
</div>
</div>
</div>

<div class="app-section">
<div class="container">
<div class="row align-items-center">
<div class="col-lg-6">
<h2 class="app-title" style="color: #fff; font-weight: 800;">DalleDress</h2>
<div class="app-description">
<p>Create unique AI-powered NFT collections with DalleDress. Track your portfolio of NFTs, monitor prices, and analyze trends.</p>
<p>Get detailed transaction histories, rarity analysis, and comprehensive collection overviews. Perfect for collectors, traders, and anyone interested in the NFT space.</p>
<a href="mailto:info@quickblocks.io?subject=Join DalleDress Beta" class="btn" style="background-color: #28a745; color: white; padding: 10px 20px; text-decoration: none; border-radius: 5px; display: inline-block; margin-top: 15px;">Join Beta...</a>
</div>
</div>
<div class="col-lg-6">
<img src="images/dalledress.png" alt="DalleDress Screenshot" class="app-image" style="transform: scale(1.75, 2.0); transform-origin: left center;">
</div>
</div>
</div>
</div>

<div class="app-section">
<div class="container">
<div class="row">
<div class="col-lg-12">
<h2 class="app-title" style="color: #000; font-weight: 800; text-align: center; margin-bottom: 30px;">More Coming...</h2>
<div class="app-description" style="text-align: center; margin-bottom: 40px;">
<p>We have an exciting pipeline of additional applications in planning and early development stages. These innovative tools will further expand TrueBlocks' ecosystem, bringing you even more ways to interact with and analyze blockchain data.</p>
</div>
<div style="max-width: 800px; margin: 0 auto;">
<table style="width: 100%; border-collapse: collapse; background-color: rgba(255, 255, 255, 0.1); border-radius: 10px; overflow: hidden;">
<thead>
<tr style="background-color: rgba(255, 255, 255, 0.2);">
<th style="padding: 15px; text-align: left; color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, 0.2);">mini-dApp</th>
<th style="padding: 15px; text-align: left; color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, 0.2);">Description</th>
</tr>
</thead>
<tbody>
<tr style="border-bottom: 1px solid rgba(255, 255, 255, 0.1);">
<td style="padding: 12px 15px; color: #fff; font-weight: 500;">BattleCry</td>
<td style="padding: 12px 15px; color: #fff;">A simple two person game theory game exploring trust</td>
</tr>
<tr style="border-bottom: 1px solid rgba(255, 255, 255, 0.1);">
<td style="padding: 12px 15px; color: #fff; font-weight: 500;">KhedraGuidl</td>
<td style="padding: 12px 15px; color: #fff;">An extension to BuidlGuidl to allow for managing Khedra</td>
</tr>
<tr style="border-bottom: 1px solid rgba(255, 255, 255, 0.1);">
<td style="padding: 12px 15px; color: #fff; font-weight: 500;">Comparitoor</td>
<td style="padding: 12px 15px; color: #fff;">Compares TrueBlocks transactional histories to popular web 2.0 APIs and websites (like Etherscan) and far outshines them</td>
</tr>
<tr style="border-bottom: 1px solid rgba(255, 255, 255, 0.1);">
<td style="padding: 12px 15px; color: #fff; font-weight: 500;">DaoManager</td>
<td style="padding: 12px 15px; color: #fff;">Manage your DAO interactions and voting schedules</td>
</tr>
<tr>
<td style="padding: 12px 15px; color: #fff; font-weight: 500;">PolyMarket</td>
<td style="padding: 12px 15px; color: #fff;">Manage your Polymarket bets</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
Binary file added docs/content/applications/images/approvals.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/applications/images/dalledress.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/content/applications/images/explorer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion docs/content/blog/2016/001-The-DAOs-First-Big-Decision.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
title: The DAO’s First Big Decision
lead: What should we name The DAO?
date: '2016-05-06T19:48:48.273Z'
lastmod: .lastmod
categories:
- Ethereum
tags: ['ethereum']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ categories:
- Trueblocks
tags: ['trueblocks']
draft: false
categories: []
keywords: []
weight: 964
---
Expand All @@ -31,7 +30,7 @@ One thing has become very clear: the more we build, the more excited we get. Loc

Here’s a nice picture of our current app, which we’ve taken to calling the **TrueBlocks Account Explorer**:

![](/blog/img/036-TrueBlocks-First-Quarter-2020-Update-001.png)
![First Quarter 2020](/blog/img/036-TrueBlocks-First-Quarter-2020-Update-001.png)

This is a screen shot of the ‘Digests’ page which gives the user insight into the ‘chunks of the index of appearances.’ We’ve written about this [elsewhere](https://medium.com/@tjayrush/indexing-addresses-on-the-ethereum-blockchain-5c0806161eb9) and [thelsewhere](https://medium.com/@tjayrush) (sic).

Expand All @@ -50,7 +49,7 @@ We’ve learned a lot of unexpected things while building this app out (some of

We claimed above we invented the idea of user-centered blockchain exploring — maybe, maybe not, but I do think we’re the first team to have actually implemented it. Here’s another fine screen shot:

![](/blog/img/036-TrueBlocks-First-Quarter-2020-Update-002.png)
![First Quater 2020](/blog/img/036-TrueBlocks-First-Quarter-2020-Update-002.png)

This is the ‘skinned’ Monitors page of the **TrueBlocks Accounts Explorer** (TrueBlocks frontend allows you to change your skin!) Here, we’re showing a list of addresses that are being actively monitored. From this page, one can access the Explore page which allows you to scroll through the history of the account(s), seeing ‘everything that ever happened to the account.’ (That last sentence is what we’ve been working on for four years.)

Expand Down
1 change: 0 additions & 1 deletion docs/content/blog/2020/042-Every-15-Seconds.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ categories:
- Ethereum
tags: ['ethereum']
draft: false
categories: []
keywords: []
weight: 958
---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: Dynamic Traversers for TrueBlocks
lead: Customized scraping of the index
description: "Extend the chifra command line with traverses. Flexibly grab whatever data you need"
date: '2020-12-09T12:29:07.973Z'
lastmod: .lastmod
categories:
- Trueblocks
tags: ['trueblocks']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: "Showing ERC-20 Transfers"
description: "Showing ERC-20 Transfers"
lead: "Can I show all token transfers on a contract?"
date: 2021-04-13T08:00:02-04:00
lastmod: .lastmod
categories:
- Tutorials
tags: ['tutorials']
Expand Down
Loading
Loading