-
Notifications
You must be signed in to change notification settings - Fork 135
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduction is more focused on first-time users. It pushes back some of the conceptual stuff, tries to explain several things more clearly, and updates some stale info.
- Loading branch information
Showing
12 changed files
with
184 additions
and
112 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# Use Cases | ||
|
||
The following are examples of people who are well-suited to using a Portal Network client, like Trin. | ||
|
||
## Laptop wallet user | ||
|
||
A user has a laptop that frequently is turned off. When | ||
they want to transact, they can turn on Trin and connect their | ||
wallet to it. | ||
|
||
*Benefit*: Wallet use without reliance on third party wallet APIs. | ||
|
||
## Desktop wallet user | ||
|
||
A user has a desktop that usually on, but most of the disk is used for other things. | ||
When they want to transact, their wallet is already connected to their portal node. | ||
|
||
*Benefit*: Wallet use without reliance on third party wallet APIs. Contributes to | ||
network health without using entire disk. | ||
|
||
## Protocol experimentation | ||
|
||
A researcher looking to explore the Ethereum protocol, testing out | ||
specific aspects and perhaps making experimental changes to the protocol. | ||
|
||
*Benefit*: Spin up a node and play around quickly and with low cost. | ||
|
||
## Single board computer hobbyist | ||
|
||
A raspberry pi 3, or similarly-sized computer with could contribute | ||
to network health. | ||
|
||
Currently a raspberry pi 4 can run a full node, with consensus | ||
and execution clients, however this is a bit tight and requires a ~2TB SSD. | ||
|
||
*Benefit*: Learn about Ethereum, get node access and provide the | ||
network with additional robustness. | ||
|
||
## Mobile user | ||
|
||
Trin is not currently configured to run on mobile, however this is plausibly | ||
a viable and interesting use case for the future. A trin node could run as a | ||
background task with configurable limits on disk, CPU and bandwidth use. | ||
|
||
*Benefit*: Wallet use without reliance on third party wallet APIs. Contributes to | ||
network health. | ||
|
||
## Unsuitable users | ||
|
||
There are situations where Trin is estimated to not be a good node choice: | ||
- Very speedy historical state access. It's possible to retrieve old state, but don't expect sub-second contract reads on state as viewed from a historical block. | ||
- Building blocks locally, as a block producer. Random access to the full state and transaction pool is not supported at the speed needed to build competitive blocks. | ||
- We remain hopeful that in the future, you could use an externally-generated block (like one provided by MEV-boost) so that you can act as a validater using a standard Consensus client, with Trin as the Execution client. This probably depends on a future where state witnesses are bundled with the block sent to you by the producer. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,11 @@ | ||
# Use | ||
# Querying Data | ||
|
||
Once Trin is running, it will be serving Ethereum data in response to requests. | ||
This can be accessed by other programs, such as a wallet in a web browser. | ||
Once Trin is running, you can access Ethereum data by making requests to its endpoint. | ||
|
||
Once Trin is running, another program will be able to communicate with Trin as it | ||
would any other Ethereum node. | ||
The interface for these requests is JSON-RPC, which is a standard way to communicate with Ethereum nodes. | ||
|
||
Additionally, commands can be made in the terminal to test functionality. | ||
See sections below for more detail. | ||
In the following sections, we make queries with: | ||
- hand-coded JSON-RPC | ||
- using a Web3 library | ||
|
||
## Access from different computer | ||
|
||
If Trin is started on `host` computer by `user`, serving data over HTTP `port` | ||
then the following command can be issued on another computer to send requests to Trin | ||
and receive responses: | ||
```sh | ||
ssh -N -L <port>:127.0.0.1:<port> <user>@<host> | ||
``` | ||
For example: | ||
```sh | ||
ssh -N -L 8545:127.0.0.1:8545 username@mycomputer | ||
``` | ||
Accessing Trin from another computer using IPC is not covered here. | ||
Serving data for wallets is not covered here. We hope to get there eventually, but the network is not ready quite yet. |
Oops, something went wrong.