Skip to content

Commit 2afd25f

Browse files
authored
Merge branch 'main' into tt-1806-labelling-readme
2 parents 86104d8 + f3e38d0 commit 2afd25f

31 files changed

+451
-81
lines changed

book/src/SUMMARY.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
- [Blockscout](framework/observability/blockscout.md)
3434
- [Components](framework/components/overview.md)
3535
- [Blockchains](framework/components/blockchains/overview.md)
36-
- [Anvil](framework/components/blockchains/anvil.md)
37-
- [Geth]()
36+
- [EVM](framework/components/blockchains/evm.md)
3837
- [Optimism Stack]()
3938
- [Arbitrum Stack]()
4039
- [Chainlink](framework/components/chainlink.md)

book/src/developing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ Here we describe good practices for developing components for our framework.
55
Rules for components are simple:
66
- Component should declare some `Input` and an optional `Output` (we use that so we can skip or cache any component results)
77
- Components should be isolated, they should not return anything except basic types like `int`, `string`, `maps` or `structs`
8-
- Component **must** have documentation under [Components](./framework/components/overview.md), here is an [example](./framework/components/blockchains/anvil.md)
8+
- Component **must** have documentation under [Components](./framework/components/overview.md), here is an [example](./framework/components/chainlink/node.md)

book/src/framework/components/blockchains/anvil.md renamed to book/src/framework/components/blockchains/evm.md

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,33 @@
1-
# Anvil
2-
[Anvil](https://book.getfoundry.sh/anvil/) is a Foundry local EVM blockchain simulator
1+
# EVM Blockchain Clients
2+
3+
We support 3 EVM clients at the moment: [Geth](https://geth.ethereum.org/docs/fundamentals/command-line-options), [Anvil](https://book.getfoundry.sh/anvil/) and [Besu](https://besu.hyperledger.org/)
34

45
## Configuration
56
```toml
67
[blockchain_a]
7-
# Blockchain node type, can be "anvil" or "geth"
8+
# Blockchain node type, can be "anvil", "geth" or "besu
89
type = "anvil"
910
# Chain ID
10-
chain_id = "31337"
11+
chain_id = "1337"
1112
# Anvil command line params, ex.: docker_cmd_params = ['--block-time=1', '...']
1213
docker_cmd_params = []
1314
# Docker image and tag
1415
image = "f4hrenh9it/foundry:latest"
15-
# External port to expose
16+
# External port to expose (HTTP API)
1617
port = "8545"
18+
# External port to expose (WS API)
19+
port_ws = "8546"
1720
# Pulls the image every time if set to 'true', used like that in CI. Can be set to 'false' to speed up local runs
1821
pull_image = false
1922

2023
# Outputs are the results of deploying a component that can be used by another component
2124
[blockchain_a.out]
22-
chain_id = "31337"
2325
# If 'use_cache' equals 'true' we skip component setup when we run the test and return the outputs
2426
use_cache = true
27+
# Chain ID
28+
chain_id = "1337"
29+
# Chain family, "evm", "solana", "cosmos", "op", "arb"
30+
family = "evm"
2531

2632
[[blockchain_a.out.nodes]]
2733
# URLs to access the node(s) inside docker network, used by other components
@@ -58,3 +64,13 @@ func TestDON(t *testing.T) {
5864
}
5965
```
6066

67+
## Test Private Keys
68+
69+
For `Geth` and `Anvil` we use the same key
70+
```
71+
Public: 0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
72+
Private: ac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80
73+
```
74+
75+
Test keys for `Besu` can be found [here](https://besu.hyperledger.org/23.4.1/private-networks/reference/accounts-for-testing)
76+

book/src/framework/components/chainlink/nodeset.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ This component requires some Blockchain to be deployed, add this to config
1414
# Blockchain node type, can be "anvil" or "geth"
1515
type = "anvil"
1616
# Chain ID
17-
chain_id = "31337"
17+
chain_id = "1337"
1818
# Anvil command line params, ex.: docker_cmd_params = ['--block-time=1', '...']
1919
docker_cmd_params = []
2020
# Docker image and tag
@@ -26,7 +26,7 @@ This component requires some Blockchain to be deployed, add this to config
2626

2727
# Outputs are the results of deploying a component that can be used by another component
2828
[blockchain_a.out]
29-
chain_id = "31337"
29+
chain_id = "1337"
3030
# If 'use_cache' equals 'true' we skip component setup when we run the test and return the outputs
3131
use_cache = true
3232

book/src/framework/components/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ func TestDON(t *testing.T) {
3434
In `TOML`:
3535
```
3636
[blockchain_a]
37-
chain_id = "31337"
37+
chain_id = "1337"
3838
image = "f4hrenh9it/foundry:latest"
3939
port = "8500"
4040
type = "anvil"

book/src/framework/components/external.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ For example, to integrate with remote `k8s` environment you can use `CTF_CONFIGS
1212
[blockchain_a]
1313

1414
[blockchain_a.out]
15-
chain_id = "31337"
15+
chain_id = "1337"
1616
use_cache = true
1717

1818
[[blockchain_a.out.nodes]]

book/src/framework/connecting_chainlink_node.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,9 @@ Now let's have an example of Chainlink node connected to some local blockchain.
55
Create your configuration in `smoke.toml`
66
```toml
77
[blockchain_a]
8-
chain_id = "31337"
9-
image = "f4hrenh9it/foundry:latest"
10-
port = "8545"
118
type = "anvil"
129
docker_cmd_params = ["-b", "1"]
1310

14-
1511
[cl_node]
1612

1713
[cl_node.db]

book/src/framework/first_test.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,8 @@ Let's spin up a simple component.
77
Create your configuration in `smoke.toml`
88
```toml
99
[blockchain_a]
10-
chain_id = "31337"
11-
image = "f4hrenh9it/foundry:latest"
12-
port = "8545"
10+
# choose between "anvil", "geth" or "besu"
1311
type = "anvil"
14-
docker_cmd_params = ["-b", "1"]
1512
```
1613

1714
Create your test in `smoke_test.go`
@@ -58,4 +55,4 @@ Summary:
5855

5956
Now let's connect the [Chainlink](./connecting_chainlink_node.md) node!
6057

61-
Learn more about [anvil](./components/blockchains/anvil.md) component.
58+
Learn more about [EVM Client](./components/blockchains/evm.md) component.

book/src/framework/nodeset_capabilities.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,6 @@ go get github.com/smartcontractkit/capabilities/kvstore && go install github.com
1717
Create a configuration file `smoke.toml`
1818
```toml
1919
[blockchain_a]
20-
chain_id = "31337"
21-
image = "f4hrenh9it/foundry:latest"
22-
port = "8545"
2320
type = "anvil"
2421
docker_cmd_params = ["-b", "1"]
2522

book/src/framework/nodeset_compatibility.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ The difference between this and [basic node set configuration](nodeset_environme
55
Create a configuration file `smoke.toml`
66
```toml
77
[blockchain_a]
8-
chain_id = "31337"
9-
image = "f4hrenh9it/foundry:latest"
10-
port = "8545"
118
type = "anvil"
129
docker_cmd_params = ["-b", "1"]
1310

0 commit comments

Comments
 (0)