A minimalistic blockchain written in Pharo
[](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) [](https://pharo.org/download) # Pharo-Blockchain A minimalistic blockchain written in [Pharo](https://www.pharo.org) ## Quick Start ### Install You can install **Blockchain** by executing the following load scripts: ```Smalltalk Metacello new repository: 'github://astares/Pharo-Blockchain:main/src'; baseline: 'Blockchain'; load ``` ### Use the blockchain ```Smalltalk | blockchain | blockchain := Blockchain new. "Add some data" blockchain addNewBlockWithData: 'First Block'. blockchain addNewBlockWithData: 'Second Block'. self assert: blockchain isValid. "Manipulate the data" blockchain chain second data: 'Manipulated'. self deny: blockchain isValid ``` ## Implementation The **Blockchain class** represents individual blocks in the chain. Each block has: - an index - a timestamp - data (which can be any object) - the hash of the previous block - its own hash The **Blockchain class** manages the chain of blocks. It includes methods to: - initialize the chain with a genesis block - add new blocks - validate the integrity of the chain