A simple Blockchain in Swift
Switch branches/tags
Nothing to show
Clone or download



A simple Blockchain in Swift.

What is this?

This is an implementation of Blockchain in Swift 4 based on this great article:

Learn Blockchains by Building One – Hacker Noon

How to build

  • Open BlockchainSwift.xcodeproj with Xcode 9
  • Build and Run!

What is interesting?

Just seeing the sample app is NOT fun at all. Trying to implement by yourself according to the reference articles would be fun :)

The implementation is quite simple, less than 200 lines.

For example, Here is the Block:

struct Block: Codable {
    let index: Int
    let timestamp: Double
    let transactions: [Transaction]
    let proof: Int
    let previousHash: Data

    // Hashes a Block
    func hash() -> Data {
        let encoder = JSONEncoder()
        let data = try! encoder.encode(self)
        return data.sha256()

Here are the articles:



*The "Consensus" part is available in the feature/consensus branch.