randao
openzeppelin-contracts
randao | openzeppelin-contracts | |
---|---|---|
7 | 234 | |
826 | 24,143 | |
0.0% | 1.0% | |
0.0 | 9.5 | |
about 1 year ago | 6 days ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
randao
-
Gas is the cheapest it's been in a long time. Imagine that this will be the norm a year or so from now
There's really no "forcing", in sharding validators are randomly assigned to a shard, similarly to how they're currently randomly split up into committees that attest to the validity of blocks. There's no centralizing force: the randomness into the process is provided in a decentralized fashion by the validators themselves, through a mechanism called RANDAO.
-
Explaining Ethereum's consensus mechanism after The Merge
Article author here.
Great questions, should have explored the randomness beacon more. Ethereum uses [RANDAO](https://github.com/randao/randao), which is a distributed commit-reveal scheme where participants in the generation post a hash of their data on the commit portion and then at a later timestamp reveal the data preimage, and get slashed if they do not reveal a correct preimage. Then all participant data is aggregated together. This means if there is at least one honest participant the generation will be random.
A supermajority (2/3rds) of validators is required to finalize a block, in case of a 50-50 network partition blocks would stop being finalized and attestation rewards would stop. Non-participating validators would slowly leak stake through the inactivity leak until online validators once again had a supermajority. This is the "self-healing" mechanism that allows both safety and liveness.
-
How does Eth 2.0 PoS choose block proposer randomly?
https://github.com/randao/randao Is this what you’re referring to? It says it’s a DAO.
-
Proposals on random
So according to this generating randoms for the eth chain is like validating but with shorter cycle and more profitable. Now I have even more questions like: How can I participate Is there software like prysm for using random contracts What is the minimum stake for random contracts Is anyone doing this, is it wort it
-
Suggestion for multiple-user seed
Thank you Eric, I discussed it too in the PoolTogether discord and got this reponse from one of the founders: " What you're describing is a version of "RANDAO". See here: https://github.com/randao/randao Really, the VRF is an unnecessary step if a seed is being selected by all participants If you look through the above project, you'll see they try to handle a few corner cases like if a user refuses to reveal their seed, or preventing a seed from being used twice The trouble with Randao is the amount of coordination and expense that it incurs. " I understand ETH 2.0 will be doing some implementation of RANDAO along VDFs for the Beacon chain. Algorand implements this too. I found this talk from Justin Drake talking about this algorithm: https://www.youtube.com/watch?v=zqL_cMlPjOI
openzeppelin-contracts
-
Mode - Comprehensive Starter Guide
// SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.20; import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v5.0.0/contracts/token/ERC20/ERC20.sol"; interface Sfs { function register(address _recipient) external returns (uint256 tokenId); } contract ModeToken is ERC20 { address feeReceiver = msg.sender; constructor() ERC20("ModeTokenSFSTest", "SFST2") { //Example amount to mint our ERC20 _mint(msg.sender, 1000 10 * 18); // This is the SFS contract address on testnet Sfs sfsContract = Sfs(0xBBd707815a7F7eb6897C7686274AFabd7B579Ff6); //Registers this contract and assigns the NFT //to the deployer of this contract sfsContract.register(msg.sender); } }
-
Blockchain transactions decoding: making wallet activity understandable
Lets look the events of Open Zeppelin’s ERC20 token contract:
- Construir e implementar un VAULT (bóveda) ERC20 en Shardeum
-
Are ERC-777 Unsafe?
ERC-777 is difficult to implement properly, due to its susceptibility to different forms of attack(opens in a new tab). It is recommended to use ERC-20 instead. This page remains as a historical archive.
- OpenZeppelin is trying to avoid paying a bounty for a vulnerability that caused $1,1B worth of assets freeze
- Security improvements of the ERC20 token standard
- Ethereums most used token standard ERC20 requires security enhancements
- The most used Ethereums token standard (ERC20) requires a security patch.
What are some alternatives?
ethereumbook - Mastering Ethereum, by Andreas M. Antonopoulos, Gavin Wood
solmate - Modern, opinionated, and gas optimized building blocks for smart contract development.
openzeppelin-solidity - OpenZeppelin Contracts is a library for secure smart contract development. [Moved to: https://github.com/OpenZeppelin/openzeppelin-contracts]
hardhat - Hardhat is a development environment to compile, deploy, test, and debug your Ethereum software.
truffle - :warning: The Truffle Suite is being sunset. For information on ongoing support, migration options and FAQs, visit the Consensys blog. Thank you for all the support over the years.
ERC721A - https://ERC721A.org
teku - Open-source Ethereum consensus client written in Java
Safemoon.sol - safemoon contract
annotated-spec - Vitalik's annotated eth2 spec. Not intended to be "the" annotated spec; other documents like Ben Edgington's https://benjaminion.xyz/eth2-annotated-spec/ also exist. This one is intended to focus more on design rationale.
solidity - Solidity, the Smart Contract Programming Language
prysm - Go implementation of Ethereum proof of stake