diff --git a/public/content/developers/docs/consensus-mechanisms/poa/index.md b/public/content/developers/docs/consensus-mechanisms/poa/index.md index f63d1070a1c..f7cbb03689a 100644 --- a/public/content/developers/docs/consensus-mechanisms/poa/index.md +++ b/public/content/developers/docs/consensus-mechanisms/poa/index.md @@ -16,7 +16,7 @@ Proof-of-authority is a modified version of **[proof-of-stake](/developers/docs/ Proof-of-authority requires trusting a set of authorized signers that are set in the [genesis block](/glossary/#genesis-block). In most current implementations, all authorized signers retain equal power and privileges when determining consensus of the chain. The idea behind reputation staking is every authorized validator is well-known to everyone through things like know your customer (KYC), or by having a well-known organization being the only validator—this way if a validator does anything wrong, their identity is known. -There are multiple implementations of PoA, but the standard Ethereum implementation is **clique**, which implements [EIP-225](https://eips.ethereum.org/EIPS/eip-225). Clique is developer-friendly and an easy-to-implement standard, supporting all client syncing types. Other implementations include [IBFT 2.0](https://besu.hyperledger.org/private-networks/how-to/configure/consensus) and [Aura](https://openethereum.github.io/Chain-specification). +There are multiple implementations of PoA, but the standard Ethereum implementation is **clique**, which implements [EIP-225](https://eips.ethereum.org/EIPS/eip-225). Clique is developer-friendly and an easy-to-implement standard, supporting all client syncing types. Other implementations include [IBFT 2.0](https://besu.hyperledger.org/private-networks/concepts/poa) and [Aura](https://openethereum.github.io/Chain-specification). ## How it works {#how-it-works} @@ -65,7 +65,7 @@ If for example there are 10 authorized signers and each signer is allowed to cre - [PoA in blockchain](https://medium.com/techskill-brew/proof-of-authority-or-poa-in-blockchain-part-11-blockchain-series-be15b3321cba) - [Clique explained](https://medium.com/@Destiner/clique-cross-client-proof-of-authority-algorithm-for-ethereum-8b2a135201d) - [Deprecated PoA, Aura specification](https://openethereum.github.io/Chain-specification) -- [IBFT 2.0, another PoA implementation](https://besu.hyperledger.org/private-networks/how-to/configure/consensus) +- [IBFT 2.0, another PoA implementation](https://besu.hyperledger.org/private-networks/concepts/poa) ### More of a visual learner? {#visual-learner} diff --git a/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md b/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md index 0d80d39425d..2f65bcc0885 100644 --- a/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md +++ b/public/content/developers/docs/consensus-mechanisms/pos/weak-subjectivity/index.md @@ -34,6 +34,6 @@ Finally, checkpoints can be requested from other nodes; perhaps another Ethereum - [Weak subjectivity in Eth2](https://notes.ethereum.org/@adiasg/weak-subjectvity-eth2) - [Vitalik: How I learned to love weak subjectivity](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/) -- [Weak subjectivity (Teku docs)](https://docs.teku.consensys.io/concepts/weak-subjectivity/) +- [Weak subjectivity (Teku docs)](https://docs.teku.consensys.io/concepts/weak-subjectivity) - [Phase-0 Weak subjectivity guide](https://github.com/ethereum/consensus-specs/blob/dev/specs/phase0/weak-subjectivity.md) - [Analysis of weak subjectivity in Ethereum 2.0](https://github.com/runtimeverification/beacon-chain-verification/blob/master/weak-subjectivity/weak-subjectivity-analysis.pdf) diff --git a/public/content/developers/docs/frameworks/index.md b/public/content/developers/docs/frameworks/index.md index a2c68e13bd1..84518810613 100644 --- a/public/content/developers/docs/frameworks/index.md +++ b/public/content/developers/docs/frameworks/index.md @@ -115,7 +115,7 @@ Before diving into frameworks, we recommend you first read through our introduct **OpenZeppelin SDK -** **_The Ultimate Smart Contract Toolkit: A suite of tools to help you develop, compile, upgrade, deploy and interact with smart contracts._** -- [OpenZeppelin SDK](https://openzeppelin.com/sdk/) +- [OpenZeppelin Defender SDK](https://docs.openzeppelin.com/defender/sdk) - [GitHub](https://github.com/OpenZeppelin/openzeppelin-sdk) - [Community Forum](https://forum.openzeppelin.com/c/support/17) - **OpenZeppelin SDK development has ended** diff --git a/public/content/developers/docs/mev/index.md b/public/content/developers/docs/mev/index.md index ad76371548e..0b491e838c6 100644 --- a/public/content/developers/docs/mev/index.md +++ b/public/content/developers/docs/mev/index.md @@ -180,7 +180,7 @@ Below is an overview of how the Builder API works: 5. A validator using the Builder API is still expected to build a block locally in case the block builder fails to respond promptly, so they don't miss out on block proposal rewards. However, validator cannot create another block using either the now-revealed transactions or another set, as it would amount to _equivocation_ (signing two blocks within the same slot), which is a slashable offense. -An example implementation of the Builder API is [MEV Boost](https://github.com/flashbots/mev-boost), an improvement on the [Flashbots auction mechanism](https://docs.flashbots.net/Flashbots-auction/overview/) designed to curb the negative externalities of MEV on Ethereum. Flashbots auction allows validators in proof-of-stake to outsource the work of building profitable blocks to specialized parties called **searchers**. +An example implementation of the Builder API is [MEV Boost](https://github.com/flashbots/mev-boost), an improvement on the [Flashbots auction mechanism](https://docs.flashbots.net/Flashbots-auction/overview) designed to curb the negative externalities of MEV on Ethereum. Flashbots auction allows validators in proof-of-stake to outsource the work of building profitable blocks to specialized parties called **searchers**. ![A diagram showing the MEV flow in detail](./mev.png) Searchers look for lucrative MEV opportunities and send transaction bundles to block proposers along with a [sealed-price bid](https://en.wikipedia.org/wiki/First-price_sealed-bid_auction) for inclusion in the block. The validator running mev-geth, a forked version of the go-ethereum (Geth) client only has to choose the bundle with the most profit and include it as part of the new block. To protect block proposers (validators) from spam and invalid transactions, transaction bundles pass through **relayers** for validation before getting to the proposer. diff --git a/public/content/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/developers/docs/nodes-and-clients/run-a-node/index.md index 15ecfd4e5e5..c2d501437a9 100644 --- a/public/content/developers/docs/nodes-and-clients/run-a-node/index.md +++ b/public/content/developers/docs/nodes-and-clients/run-a-node/index.md @@ -131,7 +131,7 @@ Below are a few projects which can help you install and control clients just wit - [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - DappNode doesn't come only with a machine from a vendor. The software, the actual node launcher and control center with many features can be used on arbitrary hardware. - [EthPillar](https://www.coincashew.com/coins/overview-eth/ethpillar) - Quickest and easiest way to setup a full node. One-liner setup tool and node management TUI. Free. Open source. Public goods for Ethereum by solo stakers. ARM64 and AMD64 support. - [eth-docker](https://eth-docker.net/) - Automated setup using Docker focused on easy and secure staking, requires basic terminal and Docker knowledge, recommended for a bit more advanced users. -- [Stereum](https://stereum.net/ethereum-node-setup/) - Launcher for installing clients on a remote server via SSH connection with a GUI setup guide, control center, and many other features. +- [Stereum](https://stereum-dev.github.io/ethereum-node-web-docs) - Launcher for installing clients on a remote server via SSH connection with a GUI setup guide, control center, and many other features. - [NiceNode](https://www.nicenode.xyz/) - Launcher with a straightforward user experience to run a node on your computer. Just choose clients and start them with a few clicks. Still in development. - [Sedge](https://docs.sedge.nethermind.io/docs/intro) - Node setup tool which automatically generates a Docker configuration using CLI wizard. Written in Go by Nethermind. diff --git a/public/content/developers/docs/smart-contracts/formal-verification/index.md b/public/content/developers/docs/smart-contracts/formal-verification/index.md index 73359c2b135..03102cccc57 100644 --- a/public/content/developers/docs/smart-contracts/formal-verification/index.md +++ b/public/content/developers/docs/smart-contracts/formal-verification/index.md @@ -216,7 +216,7 @@ Also, it is not always possible for program verifiers to determine if a property **Act**: _*Act allows specification of storage updates, pre/post conditions and contract invariants. Its tool suite also has proof backends able to prove many properties via Coq, SMT solvers, or hevm.*_ - [GitHub](https://github.com/ethereum/act) -- [Documentation](https://ethereum.github.io/act/) +- [Documentation](https://github.com/argotorg/act) **Scribble** - _*Scribble transforms code annotations in the Scribble specification language into concrete assertions that check the specification.*_ diff --git a/public/content/developers/docs/smart-contracts/testing/index.md b/public/content/developers/docs/smart-contracts/testing/index.md index cb08a69a02d..6ba9ba3578c 100644 --- a/public/content/developers/docs/smart-contracts/testing/index.md +++ b/public/content/developers/docs/smart-contracts/testing/index.md @@ -188,7 +188,7 @@ Running property-based testing typically starts with defining a property (e.g., Once configured properly, the property testing tool will execute your smart contracts functions with randomly generated inputs. If there are any assertion violations, you should get a report with concrete input data that violates the property under evaluation. See some of the guides below to get started with running property-based testing with different tools: -- **[Static analysis of smart contracts with Slither](https://github.com/crytic/building-secure-contracts/tree/master/program-analysis/slither#slither)** +- **[Static analysis of smart contracts with Slither](https://github.com/crytic/slither)** - **[Static analysis of smart contracts with Wake](https://ackeeblockchain.com/wake/docs/latest/static-analysis/using-detectors/)** - **[Property-based testing with Brownie](https://eth-brownie.readthedocs.io/en/stable/tests-hypothesis-property.html)** - **[Fuzzing contracts with Foundry](https://book.getfoundry.sh/forge/fuzz-testing)**