Skip to content

Commit 0059701

Browse files
authored
feat: Add Do-not-Track link (#26833)
* chore: prettier * chore: update .env.local.example * feat: add dnt link to Footer
1 parent db99892 commit 0059701

File tree

8 files changed

+29
-46
lines changed

8 files changed

+29
-46
lines changed

.env.local.example

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ GITHUB_TOKEN_READ_ONLY=
1010
# Matomo
1111
NEXT_PUBLIC_MATOMO_URL=
1212
NEXT_PUBLIC_MATOMO_SITE_ID=
13+
NEXT_PUBLIC_MATOMO_OPT_OUT_URL=

docs/fundamentals/config-files.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,10 @@ title: Config files
33
description: How to configure geth using config files
44
---
55

6-
There are many flags and commands that can be provided to Geth on startup to influence how your node will behave. It is often convenient to configure these options in a file rather than typing them out on the command line every time you start your node. This can be done using a simple shell script to start Geth.
6+
There are many flags and commands that can be provided to Geth on startup to influence how your node will behave. It is often convenient to configure these options in a file rather than typing them out on the command line every time you start your node. This can be done using a simple shell script to start Geth.
77

88
There are also other configuration options that are not accessible from the command line but can be adjusted by providing Geth with a config file. This gives access to lower level configuration that influences how some of Geth's internal components behave.
99

10-
1110
## Shell scripts
1211

1312
The benefit of writing a shell script for starting a Geth node is that it is more easily repeatable and you don't have to remember lots of syntax for making a node behave in a certain way. This is especially useful for running multiple nodes with their own specific configurations.
@@ -162,4 +161,4 @@ InfluxDBTags = "host=localhost"
162161
InfluxDBToken = "test"
163162
InfluxDBBucket = "geth"
164163
InfluxDBOrganization = "geth"
165-
```
164+
```

docs/fundamentals/databases.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ If Geth stops unexpectedly the database can be corrupted. This is known as an "u
5353

5454
If an unexpected shutdown does occur, the `removedb` subcommand can be used to delete the state database and resync it from the ancient database. This should get the database back up and running.
5555

56-
5756
## Pebble
5857

5958
It is possible to configure Geth to use [Pebble](https://www.cockroachlabs.com/blog/pebble-rocksdb-kv-store/) instead of LevelDB for recent data. The main reason to include the alternative database is that the Go implementation of LevelDB is not actively maintained; Pebble is an actively maintained replacement that should offer a better long term option. There is no urgent reason to switch the database type yet - LevelDB works well and Pebble is still being evaluated for potentially replacing LevelDB as the default option some time in the future. However, if you wish to experiment with running Geth with Pebble, add the following flag to your Geth startup commands:
@@ -62,4 +61,4 @@ It is possible to configure Geth to use [Pebble](https://www.cockroachlabs.com/b
6261
--db.engine=pebble
6362
```
6463

65-
This also requires resyncing from scratch in a fresh data directory, because if an existing LevelDB database is detected on startup, Geth will default to using that, overriding the `--db.engine=pebble` flag. Pebble only works on 64 bit systems.
64+
This also requires resyncing from scratch in a fresh data directory, because if an existing LevelDB database is detected on startup, Geth will default to using that, overriding the `--db.engine=pebble` flag. Pebble only works on 64 bit systems.

docs/interacting-with-geth/rpc/batch.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ title: Batch requests
33
description: How to make batch requests using JSON-RPC API
44
---
55

6-
The JSON-RPC [specification](https://www.jsonrpc.org/specification#batch) outlines how clients can send multiple requests at the same time by filling the request objects in an array. This feature is implemented by Geth's API and can be used to cut network delays. Batching offers visible speed-ups specially when used for fetching larger amounts of mostly independent data objects.
7-
6+
The JSON-RPC [specification](https://www.jsonrpc.org/specification#batch) outlines how clients can send multiple requests at the same time by filling the request objects in an array. This feature is implemented by Geth's API and can be used to cut network delays. Batching offers visible speed-ups specially when used for fetching larger amounts of mostly independent data objects.
7+
88
Below is an example for fetching a list of blocks in JS:
99

1010
```js
@@ -38,10 +38,10 @@ main()
3838
.catch(err => console.log(err));
3939
```
4040

41-
In this case there's no dependency between the requests. Often the retrieved data from one request is needed to issue a second one. Let's take the example of fetching all the receipts for a range of blocks. The JSON-RPC API provides `eth_getTransactionReceipt` which takes in a transaction hash and returns the corresponding receipt object, but no method to fetch receipt objects for a whole block. We need to get the list of transactions in a block and then call `eth_getTransactionReceipt` for each of them.
42-
41+
In this case there's no dependency between the requests. Often the retrieved data from one request is needed to issue a second one. Let's take the example of fetching all the receipts for a range of blocks. The JSON-RPC API provides `eth_getTransactionReceipt` which takes in a transaction hash and returns the corresponding receipt object, but no method to fetch receipt objects for a whole block. We need to get the list of transactions in a block and then call `eth_getTransactionReceipt` for each of them.
42+
4343
We can break this into 2 batch requests:
44-
44+
4545
- First to download the list of transaction hashes for all of the blocks in our desired range
4646
- And then to download the list of receipts objects for all of the transaction hashes
4747

docs/interacting-with-geth/rpc/ns-personal.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ title: personal Namespace
33
description: Documentation for the JSON-RPC API "personal" namespace
44
---
55

6-
76
The JSON-RPC API's `personal` namespace has historically been used to manage accounts and sign transactions and data over RPC. However, it has **now been deprecated** in favour of using [Clef](/docs/tools/clef/introduction) as an external signer and account manager. One of the major changes is moving away from indiscriminate locking and unlocking of accounts and instead using Clef to explicitly approve or deny specific actions. The first section on this page shows the suggested replacement for each method in `personal`. The second section shows the deprecated methods for archival purposes.
87

98
## Method replacements
@@ -225,8 +224,6 @@ Unpair deletes a pairing between some specific types of smartcard wallet and Get
225224

226225
InitializeWallet is for initializing some specific types of smartcard wallet at a provided URL. There is not yet a corresponding method in Clef.
227226

228-
229-
230227
## Deprecated method documentation
231228

232229
The personal API managed private keys in the key store. It is now deprecated in favour of using [Clef](/docs/tools/clef/introduction) for interacting with accounts. The following documentation should be treated as archive information and users should migrate to using Clef for account interactions.

docs/interacting-with-geth/rpc/pubsub.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,8 @@ to cancel the subscription:
3434
## Considerations {#considerations}
3535

3636
1. Notifications are sent for current events and not for past events. For use cases that cannot afford to miss any notifications, subscriptions are probably not the best option.
37-
3837
2. Subscriptions require a full duplex connection. Geth offers such connections in the form of WebSocket and IPC (enabled by default).
39-
4038
3. Subscriptions are coupled to a connection. If the connection is closed all subscriptions that are created over this connection are removed.
41-
4239
4. Notifications are stored in an internal buffer and sent from this buffer to the client. If the client is unable to keep up and the number of buffered notifications reaches a limit (currently 10k) the connection is closed. Keep in mind that subscribing to some events can cause a flood of notifications, e.g. listening for all logs/blocks when the node starts to synchronize.
4340

4441
## Create subscription {#create-subscriptions}

docs/monitoring/understanding-dashboards.md

Lines changed: 14 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The CPU panel shows how much CPU is being used as a percentage of one processing
2929

3030
![The Memory panel](/images/docs/grafana/memory.png)
3131

32-
Memory tracks the amount of RAM being used by Geth. Three metrics are plotted: the cache size, i.e. the total RAM reserved for Geth (default 1024 MB) is plotted as `held`; the amount of the cache actually being used by Geth is plotted as `used`; the number of bytes being allocated by the system per second is plotted as `alloc`.
32+
Memory tracks the amount of RAM being used by Geth. Three metrics are plotted: the cache size, i.e. the total RAM reserved for Geth (default 1024 MB) is plotted as `held`; the amount of the cache actually being used by Geth is plotted as `used`; the number of bytes being allocated by the system per second is plotted as `alloc`.
3333

3434
#### Disk
3535

@@ -39,7 +39,7 @@ Disk tracks the rate that data is written to (plotted as `write`) or read from (
3939

4040
#### Goroutines
4141

42-
Tracks the total number of active goroutines being used by Geth. Goroutines are lighweight threads managed by the Go runtime, they allow processes to
42+
Tracks the total number of active goroutines being used by Geth. Goroutines are lighweight threads managed by the Go runtime, they allow processes to
4343
execute concurrently.
4444

4545
![The goroutine panel](/images/docs/grafana/goroutines.png)
@@ -105,7 +105,7 @@ Geth has a capacity for pending transactions defined by `--txpool.globalslots` (
105105
The block processing panel tracks the time taken to complete the various tasks involved in processing each block, measured in microseconds or nanoseconds. Specifically, this includes:
106106

107107
- **execution**: time taken to execute the transactions in the block
108-
- **validation**: time taken to validate that the information in a received block body matches what is described in the block header.
108+
- **validation**: time taken to validate that the information in a received block body matches what is described in the block header.
109109
- **commit**: time taken to write the new block to the chain data
110110
- **account read**: time taken to access account information from the state trie
111111
- **account update**: time taken to incorporate dirty account objects into the state trie (account trie)
@@ -142,7 +142,6 @@ The transaction processing panel tracks the time taken to complete the various t
142142

143143
#### Block propagation
144144

145-
146145
<Note>
147146
Block propagation was disabled in Geth at The Merge. Block propagation is now the responsibility of the consensus client. Included here for archival interest.
148147
</Note>
@@ -156,15 +155,14 @@ Block propagation metrics track the rate that the local node hears about, receiv
156155
- **known broadcasts**: counts all blocks that have been broadcast by peers including those that are too far behind the head to be downloaded.
157156
- **malicious broadcasts**: the number of blocks which are determined to be malicious per second
158157

159-
160158
#### Transaction propagation
161159

162160
Transaction propagation tracks the sending and receiving of transactions on the peer-to-peer network. This includes:
163161

164162
- **ingress announcements**: inbound announcements (notifications of a transaction's availability) per second
165163
- **known announcements**: announcements that are ignored because the local node is already aware of them, per second
166-
- **underpriced announcements**: announcements per second that do not get fetched because they pay too little gas
167-
- **malicious announcements**: announcements per second that are dropped because they appear malicious
164+
- **underpriced announcements**: announcements per second that do not get fetched because they pay too little gas
165+
- **malicious announcements**: announcements per second that are dropped because they appear malicious
168166
- **ingress broadcasts**: number of transactions propagated from peers per second
169167
- **known broadcasts**: transactions per second that are ignored because they duplicate transactions that the local node already knows about
170168
- **underpriced broadcasts**: all fetched transactions that are dropped due to paying insufficient gas, per second
@@ -181,7 +179,7 @@ Transaction propagation tracks the sending and receiving of transactions on the
181179

182180
#### Block forwarding
183181

184-
The block forwarding panel counts the announcements and the blocks that the local node receives that it should pass on to its peers.
182+
The block forwarding panel counts the announcements and the blocks that the local node receives that it should pass on to its peers.
185183

186184
#### Transaction fetcher peers
187185

@@ -209,10 +207,10 @@ measures the rate that data is written to, or read from, the levelDB and ancient
209207
- **ancient write**: Rate that data is written to the freezer (the database storing older data)
210208
- **compaction read**: Rate that data is written to the levelDb database while it is being compacted (i.e. free space is reclaimed by deleting uneccessary data)
211209
- **compaction write**: Rate that data is read from to the levelDB database while it is being compacted (i.e. free space is reclaimed by deleting uneccessary data)
212-
210+
213211
#### Session totals
214212

215-
Instead of the *rate* that data is read from, and written to, the levelDB and ancients databases (as per `Data rate`), this panel tracks the total amount of data read and written across the entire time Geth is running.
213+
Instead of the _rate_ that data is read from, and written to, the levelDB and ancients databases (as per `Data rate`), this panel tracks the total amount of data read and written across the entire time Geth is running.
216214

217215
#### Persistent size
218216

@@ -226,7 +224,6 @@ These panels show the amount of time spent compacting the levelDB database, dura
226224
The current default Geth Grafana dashboard includes panels for light nodes. Light nodes are not currently functional since Ethereum moved to proof-of-stake.
227225
</Note>
228226

229-
230227
## Creating new dashboards
231228

232229
If the default dashboard isn't right for you, you can update it in the browser. Remove panels by clicking on their titles and selectign `remove`. Add a new panel by clicking the "plus" icon in the upper right of the browser window. There, you will have to define an InfluxDB query for the metric you want to display. The endpoints for the various metrics that Geth reports are listed by Geth at the address/port combination passed to `--metrics.addr` and `metrics.port` on startup - by default `127.0.0.1:6060/debug/metrics`. It is also possible to configure a panel by providing a JSON configuration model. Individial components are defined using the following syntax (the example below is for the CPU panel):
@@ -294,9 +291,7 @@ If the default dashboard isn't right for you, you can update it in the browser.
294291
"format": "time_series",
295292
"groupBy": [
296293
{
297-
"params": [
298-
"$interval"
299-
],
294+
"params": ["$interval"],
300295
"type": "time"
301296
}
302297
],
@@ -310,9 +305,7 @@ If the default dashboard isn't right for you, you can update it in the browser.
310305
"select": [
311306
[
312307
{
313-
"params": [
314-
"value"
315-
],
308+
"params": ["value"],
316309
"type": "field"
317310
},
318311
{
@@ -339,9 +332,7 @@ If the default dashboard isn't right for you, you can update it in the browser.
339332
"format": "time_series",
340333
"groupBy": [
341334
{
342-
"params": [
343-
"$interval"
344-
],
335+
"params": ["$interval"],
345336
"type": "time"
346337
}
347338
],
@@ -355,9 +346,7 @@ If the default dashboard isn't right for you, you can update it in the browser.
355346
"select": [
356347
[
357348
{
358-
"params": [
359-
"value"
360-
],
349+
"params": ["value"],
361350
"type": "field"
362351
},
363352
{
@@ -384,9 +373,7 @@ If the default dashboard isn't right for you, you can update it in the browser.
384373
"format": "time_series",
385374
"groupBy": [
386375
{
387-
"params": [
388-
"$interval"
389-
],
376+
"params": ["$interval"],
390377
"type": "time"
391378
}
392379
],
@@ -400,9 +387,7 @@ If the default dashboard isn't right for you, you can update it in the browser.
400387
"select": [
401388
[
402389
{
403-
"params": [
404-
"value"
405-
],
390+
"params": ["value"],
406391
"type": "field"
407392
},
408393
{

src/components/layouts/Footer.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,12 @@ export const Footer: FC = () => {
133133
borderColor='primary'
134134
flex={1}
135135
>
136-
<Text textStyle='footer-text'>{`© 2013–${new Date().getFullYear()}. The go-ethereum Authors.`}</Text>
136+
<Text textStyle='footer-text'>
137+
{`© 2013–${new Date().getFullYear()}. The go-ethereum Authors`} |{' '}
138+
<Link isExternal variant='light' href={process.env.NEXT_PUBLIC_MATOMO_OPT_OUT_URL}>
139+
Do-not-Track
140+
</Link>
141+
</Text>
137142
</Center>
138143
</Flex>
139144
);

0 commit comments

Comments
 (0)