- In Github, the KDAG Dev team has committed the code 27times and modified 10 files and technical documents.
- Exchange and community technical support, testing to solve code module logic problems.
The details are as follows:
- Design a new API getCoinbase, which receives all transaction fees from the block, uses a pseudo-random block hash, and selects a Kdag verifier from the current set of Kdag verifiers to ensure security and fairness.
- Design the new processInternalTransactions API, which determines whether the block accepts internal transactions, handles peer_add peer_remove transaction intra-types, and handles POA smart contract transactions.
- Design the new API processEvictions to compare the current set of validators with the whitelist and create InternalTransactionReceipts to expel any current validators that are not in the whitelist
- Design new build cmd file, add addBuildFlags, dumpPeers to get the list of peers and dump it to peers.json and peers.genesis.json in babble directory.
- Design new API PublicKeyHexToAddressHex decode public key format use hexadecimal string public key and return hexadecimal string ethereal style address.
- Add bytecode file, use precompiled POA consensus bytecode contract to define the relevant variable parameters.
- Design the new AllocRecord object, which contains information about the pre-funded account. Design a new API GenerateGenesisJSON to get the relevant abi and interface parameters using the precompiled POA contract.
- Design new inmemProxy, InmemKdag data structure and related operation interface, InmemKdag which uses Kdag node nodes in memory to help implement the EVM consensus interface, InmemProxy implements the kdag AppProxy interface.
- Test and solve the interface and interface logic of the precompiled POA consensus bytecode contract, test the contract security related issues.
- Add a new knode Dockerfile, package and test the newly generated docker image. Design a new interface function CommitBlock, which applies the block transaction to the state and commits it. All transaction fees are sent to the coinbase address, which is calculated based on the block and the current set of validators, and checks the internal transactions of the block against the POA smart contract to verify that the joined node is authorized to be a validator in Kdag. It returns the generated state hash and the internal transaction receipts.