Skip to content

Commit 153e85f

Browse files
committed
New post and updated docc.
1 parent 351d3d6 commit 153e85f

File tree

752 files changed

+709
-81
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

752 files changed

+709
-81
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1520"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "generate"
18+
BuildableName = "generate"
19+
BlueprintName = "generate"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
</BuildActionEntries>
24+
</BuildAction>
25+
<TestAction
26+
buildConfiguration = "Debug"
27+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29+
shouldUseLaunchSchemeArgsEnv = "YES"
30+
shouldAutocreateTestPlan = "YES">
31+
</TestAction>
32+
<LaunchAction
33+
buildConfiguration = "Debug"
34+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
35+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
36+
launchStyle = "0"
37+
useCustomWorkingDirectory = "YES"
38+
customWorkingDirectory = "~/Developer/CraigWrong/swift-bitcoin.github.io"
39+
ignoresPersistentStateOnLaunch = "NO"
40+
debugDocumentVersioning = "YES"
41+
debugServiceExtension = "internal"
42+
allowLocationSimulation = "YES">
43+
<BuildableProductRunnable
44+
runnableDebuggingMode = "0">
45+
<BuildableReference
46+
BuildableIdentifier = "primary"
47+
BlueprintIdentifier = "generate"
48+
BuildableName = "generate"
49+
BlueprintName = "generate"
50+
ReferencedContainer = "container:">
51+
</BuildableReference>
52+
</BuildableProductRunnable>
53+
</LaunchAction>
54+
<ProfileAction
55+
buildConfiguration = "Release"
56+
shouldUseLaunchSchemeArgsEnv = "YES"
57+
savedToolIdentifier = ""
58+
useCustomWorkingDirectory = "NO"
59+
debugDocumentVersioning = "YES">
60+
<BuildableProductRunnable
61+
runnableDebuggingMode = "0">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "generate"
65+
BuildableName = "generate"
66+
BlueprintName = "generate"
67+
ReferencedContainer = "container:">
68+
</BuildableReference>
69+
</BuildableProductRunnable>
70+
</ProfileAction>
71+
<AnalyzeAction
72+
buildConfiguration = "Debug">
73+
</AnalyzeAction>
74+
<ArchiveAction
75+
buildConfiguration = "Release"
76+
revealArchiveInOrganizer = "YES">
77+
</ArchiveAction>
78+
</Scheme>

README.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,13 @@ Sources for [https://swift-bitcoin.github.io].
66

77
- SwiftySites Static Site Generator
88
- GitHub Actions and GitHub Pages
9+
10+
## Build and serve site locally
11+
12+
To build the site:
13+
14+
`swift run`
15+
16+
To serve locally:
17+
18+
`python -m http.server --directory www`

src/content/post/posts2023.swift

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
let post03 = Post("/post/2024-01-29-end-of-year-update", "End of the Year Update", "2024-01-29T12:00:00Z", .announcements) { """
2+
3+
Last year the development of _Swift Bitcoin_ really kicked off. All research work done on the `swift-bitcoin-poc` repo was carefully moved over and improved. This includes the transaction model and script engine with full segwit and taproot support.
4+
5+
Other important milestones were reached. All consensus [BIPs](https://github.com/swift-bitcoin/swift-bitcoin/issues?q=label%3ABIP+is%3Aclosed) involving transactions are now implemented and tested using vectors from the specs.
6+
7+
Data-driven [tests](https://github.com/swift-bitcoin/swift-bitcoin/issues?q=label%3ATesting+is%3Aclosed+) from Bitcoin Core covering valid/invalid transactions were ported in their totality. After considerable bug fixing and filling in blanks these tests ended up passing. The same goes for a substantial portion of taproot transaction tests.
8+
9+
Porting Core's tests over meant enacting all different verification flags used for configuring the script interpreter to the point of full parity.
10+
11+
More recently [wallet functionality](https://github.com/swift-bitcoin/swift-bitcoin/milestone/9) was added with support for encoding/decoding all types of addresses. Relevant BIPs were implemented, namely BIP32 and BIP39.
12+
13+
The project grew from a simple library to a package containing several integration points. Cryptography and helper functions now live in their own module while executable targets were added for utility functions and peer-to-peer "full" node functionality.
14+
15+
All functions calling `libsecp256k1` were rewritten in pure Swift leveraging C-language interoperability.
16+
17+
A big effort was made to instate RPC and P2P client/server capabilities. Thanks to [SwiftNIO](https://github.com/apple/swift-nio) it was possible to do this in an optimized and robust way, setting the basis for a full-blown transport layer.
18+
19+
This year's milestones are centered around implementing all block and transport-related BIPs. Internally a mempool, a blockchain and a chainstate will need to be created first in memory then efficiently on-disk.
20+
21+
Externally the goal is to get Swift Bitcoin talking to other network clients sharing blocks and transactions. Here hoping to get there before October 31st!
22+
23+
""" }
24+
125
let post02 = Post("/post/2023-10-03-swift-bitcoin-roadmap", "Swift Bitcoin Roadmap", "2023-10-03T12:00:00Z", .announcements) { """
226
327
The ultimate goal for Swift Bitcoin is to become the most comprehensive SDK for bitcoin in Swift with features like mempool management, block mining and connectivity via the bitcoin protocol.

src/main.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import SwiftySites
22

33
let posts = [
4-
post01, post02
4+
post01, post02, post03
55
]
66

77
let site = Site(

static/docc/data/documentation/bitcoin.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

static/docc/data/documentation/bitcoin/amount.json

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"schemaVersion":{"patch":0,"major":0,"minor":3},"sections":[],"kind":"article","hierarchy":{"paths":[["doc:\/\/Bitcoin\/documentation\/Bitcoin"]]},"primaryContentSections":[{"kind":"content","content":[{"anchor":"Overview","level":2,"type":"heading","text":"Overview"},{"type":"paragraph","inlineContent":[{"inlineContent":[{"text":"Swift Bitcoin","type":"text"}],"type":"emphasis"},{"type":"text","text":" provides accesss to many protocol features primarily through three main interfaces:"}]},{"type":"unorderedList","items":[{"content":[{"type":"paragraph","inlineContent":[{"code":"Bitcoin","type":"codeVoice"},{"text":" Swift Library module.","type":"text"}]}]},{"content":[{"type":"paragraph","inlineContent":[{"code":"bcutil","type":"codeVoice"},{"type":"text","text":" Command-Line Interface tool."}]}]},{"content":[{"type":"paragraph","inlineContent":[{"code":"bcnode","type":"codeVoice"},{"type":"text","text":" service daemon."}]}]}]},{"inlineContent":[{"type":"text","text":"The library and executables cover Bitcoin’s main areas of funcionality:"}],"type":"paragraph"},{"type":"unorderedList","items":[{"content":[{"inlineContent":[{"type":"text","text":"Transactions and scripting"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"type":"text","text":"Wallet and key pairs"}],"type":"paragraph"}]},{"content":[{"inlineContent":[{"text":"Peer-to-Peer Transport","type":"text"}],"type":"paragraph"}]},{"content":[{"type":"paragraph","inlineContent":[{"type":"text","text":"RPC Interface"}]}]}]}]}],"identifier":{"url":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/Bitcoin","interfaceLanguage":"swift"},"topicSections":[{"identifiers":["doc:\/\/Bitcoin\/documentation\/Bitcoin\/GettingStarted","doc:\/\/Bitcoin\/documentation\/Bitcoin\/BitcoinTransaction"],"title":"Essentials"}],"abstract":[{"type":"text","text":"Pure-Swift implementation of core Bitcoin Protocol features."}],"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/bitcoin\/bitcoin"]}],"metadata":{"role":"collectionGroup","title":"Swift Bitcoin","modules":[{"name":"Bitcoin"}]},"references":{"doc://Bitcoin/documentation/Bitcoin/GettingStarted":{"role":"article","title":"Getting Started","url":"\/documentation\/bitcoin\/gettingstarted","abstract":[{"text":"To start using Swift Bitcoin just add it as a dependency to your package manifest.","type":"text"}],"type":"topic","kind":"article","identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/GettingStarted"},"doc://Bitcoin/documentation/Bitcoin/BitcoinTransaction":{"role":"symbol","title":"BitcoinTransaction","url":"\/documentation\/bitcoin\/bitcointransaction","abstract":[{"text":"A Bitcoin transaction.","type":"text"}],"fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"BitcoinTransaction"}],"type":"topic","navigatorTitle":[{"kind":"identifier","text":"BitcoinTransaction"}],"kind":"symbol","identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/BitcoinTransaction"},"doc://Bitcoin/documentation/Bitcoin":{"title":"Bitcoin","url":"\/documentation\/bitcoin","abstract":[],"identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin","type":"topic","role":"collection","kind":"symbol"}}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"abstract":[{"type":"text","text":"A value expressed in satoshis which is typically associated with a transaction "},{"identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/TransactionOutput","isActive":true,"type":"reference"},{"type":"text","text":"."}],"schemaVersion":{"minor":3,"patch":0,"major":0},"kind":"symbol","sections":[],"hierarchy":{"paths":[["doc:\/\/Bitcoin\/documentation\/Bitcoin"]]},"primaryContentSections":[{"declarations":[{"languages":["swift"],"tokens":[{"kind":"keyword","text":"typealias"},{"text":" ","kind":"text"},{"kind":"identifier","text":"BitcoinAmount"},{"text":" = ","kind":"text"},{"preciseIdentifier":"s:Si","kind":"typeIdentifier","text":"Int"}],"platforms":["macOS"]}],"kind":"declarations"}],"identifier":{"interfaceLanguage":"swift","url":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/BitcoinAmount"},"metadata":{"roleHeading":"Type Alias","symbolKind":"typealias","modules":[{"name":"Bitcoin"}],"role":"symbol","externalID":"s:7Bitcoin0A6Amounta","fragments":[{"text":"typealias","kind":"keyword"},{"kind":"text","text":" "},{"text":"BitcoinAmount","kind":"identifier"}],"navigatorTitle":[{"kind":"identifier","text":"BitcoinAmount"}],"title":"BitcoinAmount"},"variants":[{"traits":[{"interfaceLanguage":"swift"}],"paths":["\/documentation\/bitcoin\/bitcoinamount"]}],"references":{"doc://Bitcoin/documentation/Bitcoin/BitcoinAmount":{"abstract":[{"type":"text","text":"A value expressed in satoshis which is typically associated with a transaction "},{"type":"reference","identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/TransactionOutput","isActive":true},{"text":".","type":"text"}],"type":"topic","title":"BitcoinAmount","url":"\/documentation\/bitcoin\/bitcoinamount","role":"symbol","fragments":[{"text":"typealias","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"BitcoinAmount"}],"identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/BitcoinAmount","kind":"symbol","navigatorTitle":[{"kind":"identifier","text":"BitcoinAmount"}]},"doc://Bitcoin/documentation/Bitcoin/TransactionOutput":{"kind":"symbol","url":"\/documentation\/bitcoin\/transactionoutput","abstract":[{"type":"text","text":"The output of a "},{"identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/BitcoinTransaction","isActive":true,"type":"reference"},{"text":". While unspent also referred to as a ","type":"text"},{"type":"emphasis","inlineContent":[{"text":"coin","type":"text"}]},{"type":"text","text":"."}],"identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/TransactionOutput","fragments":[{"kind":"keyword","text":"struct"},{"kind":"text","text":" "},{"kind":"identifier","text":"TransactionOutput"}],"type":"topic","navigatorTitle":[{"text":"TransactionOutput","kind":"identifier"}],"role":"symbol","title":"TransactionOutput"},"doc://Bitcoin/documentation/Bitcoin/BitcoinTransaction":{"role":"symbol","title":"BitcoinTransaction","url":"\/documentation\/bitcoin\/bitcointransaction","abstract":[{"text":"A Bitcoin transaction.","type":"text"}],"fragments":[{"text":"struct","kind":"keyword"},{"kind":"text","text":" "},{"kind":"identifier","text":"BitcoinTransaction"}],"type":"topic","navigatorTitle":[{"kind":"identifier","text":"BitcoinTransaction"}],"kind":"symbol","identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin\/BitcoinTransaction"},"doc://Bitcoin/documentation/Bitcoin":{"identifier":"doc:\/\/Bitcoin\/documentation\/Bitcoin","role":"collection","title":"Bitcoin","type":"topic","url":"\/documentation\/bitcoin","kind":"symbol","abstract":[]}}}

0 commit comments

Comments
 (0)