Skip to content
This repository has been archived by the owner on Jan 31, 2025. It is now read-only.

Commit

Permalink
Best version yet
Browse files Browse the repository at this point in the history
  • Loading branch information
tjayrush committed Feb 2, 2024
1 parent f0055ec commit aa2c0eb
Show file tree
Hide file tree
Showing 13 changed files with 24 additions and 26 deletions.
10 changes: 5 additions & 5 deletions content/api/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2100,7 +2100,7 @@ paths:
type: boolean
- name: remote
description: >
prior to processing, retreive the manifest from the Unchained Index smart contract
prior to processing, retrieve the manifest from the Unchained Index smart contract
required: false
style: form
in: query
Expand Down Expand Up @@ -2975,7 +2975,7 @@ components:
date:
type: string
format: datetime
description: "the date of the block this log appears in (ulated) (calculated)"
description: "the timestamp as a date (calculated)"
address:
type: string
format: address
Expand Down Expand Up @@ -3024,7 +3024,7 @@ components:
date:
type: string
format: datetime
description: "a ulated value - the date of the block (calculated)"
description: "the timestamp as a date (calculated)"
transactionHash:
type: string
format: hash
Expand Down Expand Up @@ -3299,7 +3299,7 @@ components:
date:
type: string
format: datetime
description: "the date of the block for this call (ulated) (calculated)"
description: "the timestamp as a date (calculated)"
address:
type: string
format: address
Expand Down Expand Up @@ -3336,7 +3336,7 @@ components:
date:
type: string
format: datetime
description: "the date of the block for this call (ulated) (calculated)"
description: "the timestamp as a date (calculated)"
address:
type: string
format: address
Expand Down
3 changes: 2 additions & 1 deletion content/docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ weight: 0101
toc: true
---

<!-- markdownlint-disable MD041 MD033 -->

Are blockchains really meeting their promise?

## Problem Statement
Expand Down Expand Up @@ -85,4 +87,3 @@ environment to provide you ingress and egress to the chain.
## Solution

[dAppNode](https://dappnode.io/), [Erigon](https://github.com/ledgerwatch/erigon) and TrueBlocks.

4 changes: 2 additions & 2 deletions content/docs/install/build-unchained-index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ weight: 0300
toc: true
---

<!-- markdownlint-disable MD041 MD033 -->

| If you want... | and you don't mind... | then use... |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| to minimize the size of the data stored locally and<br>you want to get started faster... | slower first-time queries on new addresses, an index<br>that's slightly behind the head of the chain, an index<br>created by someone else... | [`chifra init`](#use-init-to-get-only-the-chunks-you-query) |
Expand Down Expand Up @@ -90,7 +92,6 @@ As is true of the previous methods, if you enable caching, subsequent queries fo

## Use chifra scrape to build your own index


> 👉 **Note**:
> If you don't have a node with tracing or archiving, `scrape` exits by default.
> You can still use scrape, but you need to
Expand All @@ -112,7 +113,6 @@ The end result of `chifa scrape` is the same as the end result of `chifra init -

A good explanation of this whole process requires a long form article. For now, the curious may look at the best documentation available, the `src` directory of the source code.


## One final note on building / making the index

You can, if you wish, mix and match the above methods.
Expand Down
2 changes: 2 additions & 0 deletions content/docs/install/install-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ weight: 0200
toc: true
---

<!-- markdownlint-disable MD041 MD033 -->

These instructions assume you can navigate the command line and edit configuration files.
If you need help with a particular step, see the [installation's troubleshooting section](/docs/install/install-troubleshooting).

Expand Down
1 change: 0 additions & 1 deletion content/docs/install/install-docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,3 @@ Then, in a new terminal, run these commands:
5. yarn develop

Open your browser, and access the app from `localhost:1234`.

1 change: 0 additions & 1 deletion content/docs/install/install-explorer.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,3 @@ Then, in a new terminal, run these commands:
5. yarn develop

Open your browser, and access the app from `localhost:1234`.

1 change: 0 additions & 1 deletion content/docs/install/install-sdks.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,4 +36,3 @@ Then, in a new terminal, run these commands:
5. yarn develop

Open your browser, and access the app from `localhost:1234`.

3 changes: 1 addition & 2 deletions content/docs/install/install-troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ go version

TrueBlocks needs version 1.16.x or later. If you to install or update Go, [see here](https://golang.org/doc/install).


### Installing build tools

#### How do I install the build packages for my system?
Expand Down Expand Up @@ -168,7 +167,7 @@ in the `[settings]` group.
#### Why do I need the index of appearances?

If you're only querying basic block or transaction data, you don't really
need the index of appearances.
need the index of appearances.

However, most of our users with to explore the entire history of their own
addresses. If you wish to do that, you will need the index.
Expand Down
6 changes: 3 additions & 3 deletions content/docs/prologue/about-trueblocks.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ The goal of TrueBlocks is to provide exactly that missing piece. We call our sol

The Unchained Index is created locally on your machine -- on the dAppNode. As a direct result of being local, the index has a number of amazing qualities:

1. **It fixes the broken node:** Without an index, one cannot query the node for a "list of everything that ever happened to an address." With one, which is what the Unchained Index provides, one can make such a query. In effect this turns the node from a "really shitting database," into a perfectly fine database.
1. **It fixes the broken node:** Without an index, one cannot query the node for a "list of everything that ever happened to an address." With one, which is what the Unchained Index provides, one can make such a query. In effect this turns the node from a "really shitting database," into a perfectly fine database.
2. **No rate limiting:** Because both your node and the Unchained Index are local and not shared with other users, there is no need for rate limiting. Your can query the local node 100s of times faster than you can an API. This has massive implications for the types of applications you can build.
3. **Perfectly private:** All queries happen against your local node - you don't expose your IP address to anyone, nor do you expose any information about which addresses you're interested in.
4. **Faster queries leads to a better index::** Because we can query so much faster, we can dig MUCH deeper into the details of every block. This means our index contains more information about where an address appears on the chain. In fact, in tests against two popular Ethereum APIs, we consistently find 20-30% more appearances.
Expand All @@ -60,7 +60,7 @@ such an application with our [Account Explorer](/docs/install/install-explorer).

In it's best incarnation, TrueBlocks runs locally against your own locally running node. If you build the thing yourself, no-one can take it away from you. After the initial synchronization of your node (Erigon, for example) which may take a few weeks, you can run one of TrueBlocks' command line tools called [chifra scrape](/chifra/admin/#chifra-scrape). This process takes a few days.

To ease the burden of having to create the Unchained Index yourself, you may download it from IPFS using [chifra init](/chifra/admin/#chifra-init). Putting this data on IPFS has the very interesting consequence of sharing it. This makes it impossible for us (or anyone) to become the "holder of all data" which eventually leads to winner-take-all like Google. We want to purposefully avoid that.
To ease the burden of having to create the Unchained Index yourself, you may download it from IPFS using [chifra init](/chifra/admin/#chifra-init). Putting this data on IPFS has the very interesting consequence of sharing it. This makes it impossible for us (or anyone) to become the "holder of all data" which eventually leads to winner-take-all like Google. We want to purposefully avoid that.

This whole process is [better explained here](/docs/install/build-unchained-index/).

Expand All @@ -80,6 +80,6 @@ said](https://lwn.net/Articles/193245/):

> In fact, I'm a huge proponent of designing your code around the data, rather than the other way around.
## More words!
## More words

We've got more words for you. [This blog post covers these topics in much more detail](/blog/a-long-winded-explanation-of-trueblocks/).
4 changes: 1 addition & 3 deletions content/docs/prologue/design-philosophy.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ toc: true

## The three commandments

1. **Let users query this data without asking third-parties for permission.**
1. **Let users query this data without asking third-parties for permission.**

If you can access blockchain data only through a third party (e.g. a cloud provider),
is the data really decentralized?
Expand All @@ -39,7 +39,6 @@ No application can do all things. All design decisions involve tradeoffs.
TrueBlocks tries to make trade off _consciously_, so that we always
make the application best serve our core values.


### Core design values

These core design features are _imperative_.
Expand Down Expand Up @@ -111,4 +110,3 @@ If repeated endlessly, they will eventually sink in:
* Some users, but not all, care about everything
* Everyone needs to do accounting and pay taxes
* The node can, and should be, be improved

1 change: 0 additions & 1 deletion content/docs/prologue/do-i-need-a-node.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,3 @@ of building an index from your own node:
* You still must query transaction data from remote RPCs
* You must trust the data TrueBlocks publishes (though you can verify the build)
* You can only query up to the last time TrueBlocks published the manifest

7 changes: 3 additions & 4 deletions content/docs/prologue/multi-chain.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Once you do start to run your own node software, you will be very glad you did.

Notwithstanding the above, we've provided default configurations for the following eight (8) EVM compatible chains:

```
```[bash]
mainnet, rinkeby, ropsten, goerli, kovan,
gnosis, optimism, polygon
```
Expand All @@ -60,13 +60,13 @@ To configure a chain or add a new one, you must edit an entry for the `chains` a

Once added, you may use your new chain entry by naming it to the `--chain` option:

```
```[bash]
chifra <cmd> <options> --chain <chain-name>
```

Below is one of the pre-configured sections for Ethereum Mainnet. Following that is a description of fields making up a chain configuration. Note that the section header of the chain must start with `chains.` and becomes the name of the chain.

```
```[bash]
[chains.mainnet]
chainId = "1"
rpcProvider = "http://localhost:8545"
Expand Down Expand Up @@ -101,4 +101,3 @@ There are two things that currently do not work with Multi-Chain:
1) The command `chifra init` only works with Ethereum Mainnet. While we will never provide an index for every chain (we must rely on our user base to do that and hopefully share it), we will, in the future be supporting some chains, notably the gnosis chain.

2) Pricing using UniSwap only works on the mainnet. In the future, once more standardization appears relative to pricing on multiple chains, this choice will be revisited.

7 changes: 5 additions & 2 deletions content/explorer/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,19 @@ weight: 1000
toc: true
---

<!-- markdownlint-disable MD041 MD033 -->

<img src="/data-model/img/data-model-600.png" alt="TrueBlocks is full of data that interrelates." width="600"/>

## TrueBlocks data

On its own blockchain data is an unintelligible blob of binary bytes. But, we all know there
is an amazing collection of deeply interesting information contained therein. Thousands of
is an amazing collection of deeply interesting information contained therein. Thousands of
people are trading, voting, expressing their preferences, making markets for valueless
items every minute.

What interests us about this data are answers to questions such as:

* What exactly is going on?
* Where is my money?
* Didn't I have some of those tokens somewhere?
Expand All @@ -34,7 +37,7 @@ against one's own wallet address (or anyone else's for that matter).

The `--articulate` option, which is available on many commands, reanimates
or articulates the impossible-to-understand `input` and `event` data fields.
TrueBlocks even articulates trace data which reveals the deep history of
TrueBlocks even articulates trace data which reveals the deep history of
any transaction include multi-layer deep smart contract calls.

TrueBlocks works as easily with multiple related addresses at a time as it
Expand Down

0 comments on commit aa2c0eb

Please sign in to comment.