41 std::string
name()
const override {
return "Ethash"; }
42 unsigned revision()
const override {
return 1; }
bool verifySeal(BlockHeader const &_bi) const
Adapted from code found on http://stackoverflow.com/questions/180947/base64-decode-snippet-in-c Origi...
static BlockHeader & setNonce(BlockHeader &_bi, Nonce _v)
strings sealers() const override
bytes rlp(_T _t)
Export a single item in RLP format, returning a byte array.
unsigned sealFields() const override
StringHashMap jsInfo(BlockHeader const &_bi) const override
void populateFromParent(BlockHeader &_bi, BlockHeader const &_parent) const override
Don't forget to call Super::populateFromParent when subclassing & overriding.
boost::multiprecision::number< boost::multiprecision::cpp_int_backend<>> bigint
unsigned revision() const override
std::vector< std::string > strings
static h256 seedHash(BlockHeader const &_bi)
std::string name() const override
void manuallySubmitWork(h256 const &_mixHash, Nonce _nonce)
void manuallySetWork(BlockHeader const &_work)
static Nonce nonce(BlockHeader const &_bi)
eth::GenericFarm< EthashProofOfWork > m_farm
void verifyTransaction(ImportRequirements::value _ir, TransactionBase const &_t, BlockHeader const &_bi) const override
Additional verification for transactions in blocks.
static h256 boundary(BlockHeader const &_bi)
std::string sealer() const override
static h256 mixHash(BlockHeader const &_bi)
std::vector< byte > bytes
bool quickVerifySeal(BlockHeader const &_bi) const
u256 childGasLimit(BlockHeader const &_bi, u256 const &_gasFloorTarget=Invalid256) const
bytes sealRLP() const override
bool shouldSeal(Interface *_i) override
boost::multiprecision::number< boost::multiprecision::cpp_int_backend< 256, 256, boost::multiprecision::unsigned_magnitude, boost::multiprecision::unchecked, void >> u256
u256 calculateDifficulty(BlockHeader const &_bi, BlockHeader const &_parent) const
static void ensurePrecomputed(unsigned _number)
std::unordered_map< std::string, std::string > StringHashMap
Main API hub for interfacing with Ethereum.
void cancelGeneration() override
void generateSeal(BlockHeader const &_bi) override
void setSealer(std::string const &_sealer) override
void verify(Strictness _s, BlockHeader const &_bi, BlockHeader const &_parent, bytesConstRef _block) const override
Don't forget to call Super::verify when subclassing & overriding.
eth::GenericFarm< EthashProofOfWork > & farm()
static BlockHeader & setMixHash(BlockHeader &_bi, h256 const &_v)
Encodes a transaction, ready to be exported to or freshly imported from RLP.