 				var cols = OrderedDictionary<SQLColumn, SQLType>()
 				cols.append(SQLType.blob, forKey: SQLColumn(name: "signature"))
 				cols.append(SQLType.int, forKey: SQLColumn(name: "index"))
-				cols.append(SQLType.int, forKey: SQLColumn(name: "nonce"))
+				cols.append(SQLType.blob, forKey: SQLColumn(name: "nonce")) // Needs to be stored as blob because SQLite does not fully support Uint64s
 				cols.append(SQLType.blob, forKey: SQLColumn(name: "previous"))
 				cols.append(SQLType.blob, forKey: SQLColumn(name: "payload"))
 

			values: [[
				.literalBlob(block.signature!.hash),
				.literalInteger(Int(block.index)),
				.literalUnsigned(UInt(block.nonce)),
				.literalBlob(block.previous.hash),
				.literalBlob(block.payloadData)
			]]))

	}

	func archive(block: SQLBlock) throws {
		var nonce = block.nonce

		let insertStatement = SQLStatement.insert(SQLInsert(
			orReplace: false,
			into: self.table,
