Skip to content

Releases: oguzbilgic/zincir-crystal

v0.8.0

15 Jan 05:53
Compare
Choose a tag to compare

Code

  • Merge Blockchain::Tree into Blockchain
  • Remove Blockchain::Array

v0.7.1

27 Dec 21:40
Compare
Choose a tag to compare

Node

  • Fix a bug in which a node with --local option, wasn't broadcasting the
    mined blocks
  • Don't log blockchain when reading from the network or filesystem

Code

  • Add Blockchain#verbose property

v0.7.0

26 Dec 22:52
Compare
Choose a tag to compare

Node

  • Make /blocks/ endpoint handle index range and array
  • Download 1000 blocks at a time when syncing with the network

Code

  • Add {Blockchain, Network, Node}#blocks_at

v0.6.0

26 Dec 06:43
Compare
Choose a tag to compare

Code

  • Add Blockchain::Tree implementation replacing the array implementation

v0.5.0

20 Dec 10:38
Compare
Choose a tag to compare

Node

  • Relay network blocks If they haven't been seen before
  • Fix bugs in Storage::File and Storage::Network
  • Update CLI options' descriptions

Code

  • Add Storage::Network.check_sync_status
  • Add Storage::Network.find_mutual_block

v0.4.1

18 Dec 11:11
Compare
Choose a tag to compare

Node

  • Fix hex overflow bug in Difficulty.multiply which resulted in higher
    difficulty while It was trying to reduce the difficulty
  • Fix Storage::Network bug which caused broadcasting existing block

Code

  • Add experimental bench/ directory for benchmarking

v0.4.0

18 Dec 07:03
Compare
Choose a tag to compare

Node

  • Broadcast blocks to network if the local blockchain has higher index,
  • Remove the node from the network when it is closed
  • Fix a bug which caused some validations to be skipped if the chain is being reseted
  • Improve miner so that as soon as a new block is added by network, It moves on
    to the next index.

Code

  • Add Block.calculate_hash, {Network, Node}#last_block
  • Rename {Network, Node}#download_block to {Network, Node}#block_at

v0.3.1

17 Dec 08:27
Compare
Choose a tag to compare

Node

  • Fix critical blockchain bug which prevented resetting the chain
  • Make miner skip the mined block if another block is already added to chain with the
    same index
  • Use different colors for logs

v0.3

16 Dec 14:33
Compare
Choose a tag to compare

Protocol

  • Adjust difficulty every 60 blocks
  • Much more accurate difficulty calculation
  • Change websocket messages to have different types. Currently Block or IP information
    can be sent through the socket.
  • Add /nodes endpoint that returns the known nodes' ips

Node

  • Connect to Network::TESTNET_SEED_HOST by default
  • Explore the network continuously for new public nodes and connect
  • Traverse blockchain backwards from the seed node if there is a hash mismatch
  • Delete the block file if it's not added to the blockchain
  • Broadcast our block to the network if the received block is not preferred
  • Add CLI options
    • --seed-ip=IP
    • --host-ip=IP
    • --port=PORT
    • --local-net
    • --mine
    • --web
    • --version
    • --help

v0.2

15 Dec 06:12
Compare
Choose a tag to compare

Protocol

  • Adjust difficulty using bits
  • Use websocket for broadcasting solved blocks
  • Remove /connect and /relay endpoints

Implementation

  • Store blockchain in .block/ folder
  • Add Cli, Difficulty, Emitter, Miner, Node, Storage, Web modules
  • Use proper shard folder structure