A simple Blockchain with Swift.
This is an implementation of Blockchain with Swift based on this great article:
Learn Blockchains by Building One – Hacker Noon
- Open
BlockchainSwift.xcodeproj
with Xcode - Build and Run!
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:
日本語版(Python):
日本語版(Swift):
*The "Consensus" part is available in the feature/consensus branch.