Skip to content

Commit

Permalink
Cleanings
Browse files Browse the repository at this point in the history
  • Loading branch information
tjayrush committed Jan 6, 2025
1 parent 66d538a commit b164f1e
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 11 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
file
save
coverage
x
Expand Down
3 changes: 3 additions & 0 deletions book/book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ title = "The Khedra Book"
[output.html]
numbered = false
default-theme = "rust"

[preprocessor.mermaid]

6 changes: 3 additions & 3 deletions book/src/_index.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# The Khedra Book

**Khedra** (pronounced *kay-drah*) is an all-in-one tool for indexing, publishing, and sharing the Unchained Index and monitoring addresses any on EVM-compatible blockchains.
**Khedra** (prononced *kɛd-ɾɑ*) is an all-in-one "long-running" tool for indexing and sharing the Unchained Index and monitoring individual addresses on EVM-compatible blockchains.

The tool creates and shares the [Unchained Index](https://trueblocks.io/papers/2023/specification-for-the-unchained-index-v2.0.0-release.pdf)
which is a permissionless index of "address appearances," including appearances in event logs, execution traces, smart contract state, staking or block rewards, prefund allocations and many other locations.
which is a permissionless index of "address appearances," including appearances in event logs, execution traces, incoming transactions, modifications to smart contract state, staking or block rewards, prefund allocations and many other locations.

This detailed indexing allows for near-perfect monitoring and notifications of address activity, native and ERC-20 account balance histories, address auditing and accounting, and even custom indexing. It works for any address on any chain (as long as you have access to the chain's RPC).
This detailed indexing allows for near-perfect monitoring and notifications of address activity, which leads to many benefits. The benefits include native and ERC-20 account balance histories, address auditing and accounting, and even custom indexing. It works for any address on any chain (as long as you have access to the chain's RPC).

*Enjoy!*

Expand Down
15 changes: 7 additions & 8 deletions book/src/about_the_name.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,16 @@
# About the Name

The name **khedra** (pronounced *kay-drah*) is inspired by the Persian word <span style="font-size: 1.5em;"> خدمت </span> (*khedmat*), meaning "service."
The name **khedra** (prononced *kɛd-ɾɑ*) is inspired by the Persian word <span style="font-size: 1.5em;"> خدمت </span> (*khedmat*), meaning "service."

In ancient Persian culture (my childrens' grandfather is Persian), service was considered a noble pursuit, emphasizing dedication, reliability, and humility in action. Drawing from this tradition, the name **khedra** embodies the essence of a system designed to serve--efficiently, continuously, and with purpose.
In ancient Persian culture, service was considered a noble pursuit, emphasizing dedication, reliability, and humility in action. Drawing from this tradition, the name **khedra** embodies the essence of a system designed to serve--efficiently, continuously, and with purpose.

Simliar to its counterpart, [chifra](https://github.com/TrueBlocks/trueblocks-core) (derived from the Persian word for "cipher"), the name **khedra** connects to our roots while adapting to a modern context. The name symbolizes a long-running, dependable processes that tirelessly "serves" the needs of its users.
Simliar to its counterpart, [chifra](https://chifra.trueblocks.io) (derived from the Persian word for "cipher"), the name **khedra** symbolizes a long-running, dependable processes that tirelessly "serves" the needs of its users.

More technically, **khedra** is a collection of persistant go routines that:
More technically, **khedra** is a collection of go routines that:

- creates the Unchained Index,
- publishes the index to IPFS and a manifest of the resultant hashes to a smart contract,
- monitors customized lists of addresses automating caching, notifications, and other ETL processes,
- provides a RESTful API exposing `chifra`'s many data access commands,
- creates and publishes the Unchained Index,
- monitors a user-provided customized list of addresses automating caching, notifications, and other ETL processes,
- provides a RESTful API exposing [chifra's](https://chifra.trueblocks.io) many data access commands,
- allows for starting, stopping, pausing, and resuming these individual services.

By choosing the name **khedra**, we honor a legacy of service while committing to building tools that are as resilient, adaptive, and reliable as the meaning behind its name.
16 changes: 16 additions & 0 deletions book/src/tech_spec/system_architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@

(Include a diagram here if needed. Replace this text with a Markdown-compatible diagram or a link to an image.)

```mermaid
graph TD
config.go --> service.go
service.go --> logging.go
service.go --> chain.go
chain.go --> validate.go
validate.go --> general.go
general.go --> testing.go
chain_test.go --> chain.go
validate_test.go --> validate.go
logging_test.go --> logging.go
general_test.go --> general.go
config_test.go --> config.go
```

## Key Components Overview

1. **Blockchain Indexer**: Handles blockchain data collection and indexing.
Expand Down
17 changes: 17 additions & 0 deletions docs/arch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Architecture

```mermaid
graph TD
config.go --> service.go
service.go --> logging.go
service.go --> chain.go
chain.go --> validate.go
validate.go --> general.go
general.go --> testing.go
chain_test.go --> chain.go
validate_test.go --> validate.go
logging_test.go --> logging.go
general_test.go --> general.go
config_test.go --> config.go
```

0 comments on commit b164f1e

Please sign in to comment.