iotex-core

Official implementation of IoTeX blockchain protocol in Go.

APACHE-2.0 License

Stars
1.5K
Committers
91

Bot releases are hidden (Show)

iotex-core - v0.5.0-rc5

Published by zjshen14 over 5 years ago

Compared to rc4, rc5 contains the following improvements:

  • Enabling proof of lock in time slot rotation
  • Adding foundation reward
  • Enforcing the productivity threshold to get epoch reward
  • Fixing bugs in consensus and smart contract
  • Improving ioctl user experience
  • Adding block LRU cache
  • Enabling gas price threshold for admitting into action pool
iotex-core - v0.5.0-rc4

Published by zjshen14 over 5 years ago

Compared to rc3, rc4 contains the following improvements:

  • Improvements on ioctl and supporting more commands, including claiming BP rewards
  • Fixing some security bugs
  • Updating the genesis config
  • Upgrading protoc-gen-go to v1.3.0
  • Code improvement
  • Storage size improved by ~50%

This is the initial release of ioctl (a command-line interface for interacting with IoTeX blockchains). See cli/ioctl/README.md for more information about ioctl.

iotex-core - v0.5.0-rc3

Published by zjshen14 over 5 years ago

Compared to rc2, rc3 contains the following improvements:

  • Fully removing the old genesis config
  • A more comprehensive ioctl
  • Improving election service robustness
  • Improving block sync efficiency
  • Adding block producer productivity query API
  • Replacing blake2b with sha3

This is the initial release of ioctl (a command-line interface for interacting with IoTeX blockchains). See cli/ioctl/README.md for more information about ioctl.

iotex-core - Beetroot

Published by dustinxie over 5 years ago

This is an internal release for special testing

iotex-core - Photon^3 (v0.4.3)

Published by dustinxie over 5 years ago

iotex-core v0.4.3 is a patch release that contains the following bug fixes and improvements:

  • Make evm SSTORE address varying with different contract
  • Added network health check
  • Fixed log display
iotex-core - Photon^2 (v0.4.2)

Published by zjshen14 almost 6 years ago

iotex-core v0.4.2 is a patch release that contains the following bug fixes:

  • Improving the block sync efficiency
  • Improving the consensus block interval stability
  • Fixing the nonce validating bug
  • Fixing the error that the blockchain couldn't be restarted
  • Fixing big int nil ptr when getting account balance
iotex-core - Photon^1 (v0.4.1)

Published by zjshen14 almost 6 years ago

iotex-core v0.4.1 is a patch release that contains the following bug fixes:

  • Improve the block sync logic to proactively ask for higher block if a not doesn't observe incoming blocks for a while;
  • Fix action injector to be able to inject 1K+ tps workload;
  • Fix nonce validation bug;
  • Make block interval calculation always be based on the last block timestamp.
iotex-core - Photon (v0.4.0)

Published by zjshen14 almost 6 years ago

MainNet Preview (codename: Photon)

Photon (v0.4.0) is our last pre-release. IoTeX blockchain is almost feature complete. In this release, we added multi-chain feature, enhanced consensus, and improved overall performance and robustness. The full list of new features are as follows:

  1. TBC (Transactions, Block & Chain)
  • Sub-chain provisioning protocol
  • Deposit to sub-chain
  • Commit state root to the block header
  • State storage pruning
  • Gas fee collection
  1. Consensus
  • Performance improvement: consensus latency 10s -> 7s
  • Security improvement: authenticating proposer and validators
  • Time slot based proposer rotation
  • Preliminary implementation of distributed key generation protocol
  1. Testing & Deployment
  • Scaling deployment to 101 nodes
  • Load test of 1K+ TPS at peak
  • Option to spin-off index data into separate RDBMS
  1. Engineering excellence
  • Action abstraction
  • Action handling framework (native “smart contract” in golang)
  • State working set to isolate uncommitted state change
  1. Documentation
  • Protocol (data schema, wire format, and so on)
iotex-core - Epik^2 (v0.3.2)

Published by zjshen14 about 6 years ago

iotex-core v0.3.2 is a patch release that contains the following bug fixes:

  • Validate recipient address in actpool and blockvalidator
  • Let nodes panic if committing state changes fails & Add some error logs in statefactory
iotex-core - Epik^1 (v0.3.1)

Published by zjshen14 about 6 years ago

iotex-core v0.3.1 is a patch release that contains the following bug fixes:

  • Fix the deadlock of accessing the sync map of peers
  • Allow read-only smart contract execution to run offline
  • Create creator's state first when recovering from fresh state db
iotex-core - Epik (v0.3.0)

Published by zjshen14 about 6 years ago

Testnet Beta (codename: Epik)

  1. TBC (Transactions, Block & Chain)
  • Bech32-encoded address
  • Serialization and deserialize of messages on the wire
  • Merkle tree
  • Actions, transfers, votes, blocks and chain
  • Fast and reliable blockchain/state storage via BoltDB and DB transaction support
  • Improved block sync from network peers
  • Basic framework for script and VM
  • Account/state layer built on top of Merkle Patricia tree
  • Voting and unvoting for block producer candidates
  • New account-based action pool
  • Initial implementation of secure keystore of private keys
  • Initial integration with Ethereum Virtual Machine (EVM), smart contracts (Solidity)
  1. Network
  • Efficient gossip protocol over TLS
  • Broadcast & unicast semantics
  • Seeding through network config
  • Rate-limit requests per connection
  • Peer discovery
  • Large-scale simulation and load test
  1. Consensus
  • Framework for plugable consensus
  • Standalone and NOOP schemes
  • Full implementation of FSM-based Roll-DPoS
  • Full integration with delegates pool
  • Roll-DPoS simulator
  • Initial implementation of random beacon
  1. Clients
  • Full implementation of JSON RPC
  • UI Design and backend implementation of explorer
  • Command line console
  • Basic wallet
  1. Crypto
  • libsect283 -- lightweight crypto library, with cgo binding
  • libtblsmnt -- complete BLS signature parameterization and implementation, with cgo binding
  • Implementation of distributed key generation (DKG) with cgo binding
  1. Testing & Integration & Deployment
  • Improved action injection and address generation tools
  • Work-preserving restart
  • Dockerization of IoTeX server
  • Large-scale testnet deployment via Kubernetes
  • Unit test coverage ~70%
  • Thorough integration tests
  • Enhancement of existing features, performance and robustness
iotex-core - Strive (v0.2.0)

Published by zjshen14 over 6 years ago

Testnet Alpha (codename: Strive)

  1. TBC (Transactions, Block & Chain)
  • Bech32-encoded address
  • Serialization and deserialize of messages on the wire
  • Merkle tree
  • Actions, transfers, votes, blocks and chain
  • Fast and reliable blockchain storage and query using BoltDB
  • Block sync from network peers
  • Basic framework for script and VM
  • Account/state layer built on top of Merkle Patricia tree
  • Voting and unvoting for block producer candidates
  • New account-based action pool
  1. Network
  • Efficient gossip protocol over TLS
  • Broadcast & unicast semantics
  • Seeding through network config
  • Rate-limit requests per connection
  • Peer discovery
  • Large-scale simulation and load test
  1. Consensus
  • Framework for plugable consensus
  • Standalone and NOOP schemes
  • Full implementation of FSM-based Roll-DPoS
  • Roll-DPoS simulator
  • Initial implementation of random beacon
  1. Clients
  • JSON RPC support
  • UI Design and backend implementation of explorer
  • Command line console
  1. Crypto
  • libsect283 -- lightweight crypto library, with cgo binding
  • libtblsmnt -- Intial BLS signature parameterization and implementation, with cgo binding
  1. Testing & Integration & Deployment
  • Unit test coverage > 60%
  • Thorough integration tests
  • Dockerization of IoTeX server
  • Testnet deployment of 20+ block producer delegates in production
  • Action injection and address generation tools
  • Enhancement of existing features, performance improvement and code refactoring
iotex-core - StoneVan (v0.1.0)

Published by dustinxie over 6 years ago

  • Transaction and block handling
  • Gossip protocol over a P2P network
  • Pluggable consensus framework leveraging initial version of Roll-DPoS consensus scheme
  • Initial RPC support