Repository navigation
Expand file tree
/
Copy pathabout.html
More file actions
415 lines (408 loc) · 54.6 KB
/
Copy pathabout.html
File metadata and controls
415 lines (408 loc) · 54.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>About</title>
<meta name="description" content="About libbitcoin: its history since 2011, its manifesto, and the development history of its repositories.">
<link rel="icon" type="image/svg+xml" href="favicon.svg">
<link rel="canonical" href="https://libbitcoin.org/about.html">
<script>
(function () {
'use strict';
var CANONICAL = 'libbitcoin.org';
var host = location.hostname.toLowerCase();
var local = location.protocol === 'file:' || host === 'localhost' ||
host === '127.0.0.1';
var trusted = local || host === CANONICAL || host === 'libbitcoin.github.io';
var framed = false;
try { framed = window.top !== window.self; } catch (_) { framed = true; }
if (trusted && !(framed && !local)) return;
// Wrong host (squatter proxy) or framed: navigate to the canonical site.
var url = 'https://' + CANONICAL + location.pathname + location.search;
try { window.top.location.replace(url); } catch (_) {}
try { location.replace(url); } catch (_) {}
// Navigation blocked: replace the page with a warning.
document.addEventListener('DOMContentLoaded', function () {
document.body.innerHTML =
'<div style="max-width:36em;margin:15vh auto;padding:0 24px;' +
'font:16px/1.6 system-ui;color:#ededed">' +
'<h1 style="color:#ff2357;font-size:22px">Warning: unofficial mirror</h1>' +
'<p>This page is being served from a domain not controlled by the ' +
'libbitcoin project. Do not trust content, links, or downloads here.</p>' +
'<p>The official site is <a style="color:#ffa022">' +
'https://libbitcoin.org</a>.</p></div>';
document.body.querySelector('a').href = url;
});
})();
</script>
<meta property="og:type" content="website">
<meta property="og:site_name" content="libbitcoin">
<meta property="og:url" content="https://libbitcoin.org/about.html">
<meta property="og:title" content="About">
<meta property="og:description" content="About libbitcoin: its history since 2011, its manifesto, and the development history of its repositories.">
<meta property="og:image" content="https://libbitcoin.org/card3.png">
<meta property="og:image:secure_url" content="https://libbitcoin.org/card3.png">
<meta property="og:image:type" content="image/png">
<meta property="og:image:width" content="2400">
<meta property="og:image:height" content="1260">
<meta property="og:image:alt" content="Libbitcoin is Coming — a Bitcoin full node and query server speaking Electrum, bitcoind, btcd, ZeroMQ, Stratum and the peer protocol.">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Team">
<meta name="twitter:description" content="About libbitcoin: its history since 2011, its manifesto, and the development history of its repositories.">
<meta name="twitter:image" content="https://libbitcoin.org/card3.png">
<meta name="twitter:image:alt" content="Libbitcoin is Coming — a Bitcoin full node and query server.">
<style>
:root {
color-scheme: dark;
--paper: #272822; --surface: #1f211c;
--ink: #ededed; --ink-2: #cfcfcf; --ink-3: #6a7282;
--rule: #3a3c33; --rule-soft: #2e302a;
--accent: #c85637; --heading: #ffa022;
--yes: #00bb7f; --partial: #ffa022; --pending: #4f8dff;
--rejected: #ff2357; --scope: #6a7282; --wip: #c07bff;
--mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;
--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
--shadow: 0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.8);
}
html { scrollbar-gutter: stable; }
body { background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 15px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px 96px; }
.logo { width: 132px; height: auto; display: block; }
.mast { padding: 56px 0 28px; border-bottom: 2px solid var(--ink); display: flex; flex-direction: column; gap: 14px; }
.mast > a { align-self: flex-start; text-decoration: none; }
.eyebrow { font-family: var(--mono); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); font-weight: 600; }
h1 { color: var(--heading); font-family: var(--mono); font-size: clamp(28px, 4.4vw, 44px); font-weight: 600; letter-spacing: -.02em; line-height: 1.1; text-wrap: balance; margin: 0; }
.lede { max-width: 66ch; color: var(--ink-2); font-size: 16px; }
.lede strong { color: var(--ink); font-weight: 600; }
@media (max-width: 760px) {
.wrap { padding: 0 14px 72px; }
}
.foot { border-top: 2px solid var(--ink); padding-top: 20px; margin-top: 8px; color: var(--ink-2); font-size: 13.5px; max-width: 72ch; display: flex; flex-direction: column; gap: 10px; }
.foot code, .scope code { font-family: var(--mono); font-size: 12.5px; color: var(--ink); }
a { color: var(--accent); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.menu { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 28px; padding: 10px 0; border-top: 1px solid var(--rule-soft); border-bottom: 1px solid var(--rule-soft); font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.menu a { color: var(--ink-2); text-decoration: none; }
.menu a:hover, .menu a:focus { color: var(--heading); }
.menu a.here { color: var(--heading); }
.mast .menu.site { margin: 0; }
.mast + .menu { border-top: 0; }
.menu.site { align-items: center; }
.drop { position: relative; }
.drop > summary { list-style: none; cursor: pointer; color: var(--ink-2); }
.drop > summary::-webkit-details-marker { display: none; }
.drop > summary::after { content: " ▾"; }
.drop > summary:hover, .drop[open] > summary, .drop.here > summary { color: var(--heading); }
.drop > div { position: absolute; top: calc(100% + 10px); left: -14px; z-index: 20; display: flex; flex-direction: column; gap: 10px; width: max-content; padding: 12px 14px; background: var(--surface); border: 1px solid var(--rule); border-radius: 3px; box-shadow: var(--shadow); }
.drop > div a.sub { padding-left: 14px; }
.history { max-width: 72ch; margin: 0 0 40px; color: var(--ink-2); font-size: 15px; }
.history h2 { color: var(--heading); font-family: var(--mono); font-size: 22px; font-weight: 600; margin: 0 0 12px; }
.history p { margin: 0 0 12px; }
.scope { margin: 0 0 40px; color: var(--ink-2); font-size: 15px; }
.scope h2 { color: var(--heading); font-family: var(--mono); font-size: 22px; font-weight: 600; margin: 0 0 12px; }
.scope p { max-width: 72ch; margin: 0 0 12px; }
.scope p.dim, .scope p.dim code { color: var(--ink-3); }
.scope .method > summary { cursor: pointer; color: var(--ink-3); font-family: var(--mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; }
.scope .method > summary:hover, .scope .method[open] > summary { color: var(--ink-2); }
.scope .grid { overflow-x: auto; margin: 0 0 16px; }
.scope table { border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.scope th, .scope td { padding: 6px 12px; border-bottom: 1px solid var(--rule-soft); text-align: right; }
.scope th { color: var(--ink); font-family: var(--mono); font-size: 12px; font-weight: 600; }
.scope th:first-child, .scope td:first-child { text-align: left; padding-left: 0; }
.scope td:nth-child(10), .scope th:nth-child(10) { color: var(--ink); font-weight: 600; }
.scope td:last-child, .scope th:last-child { border-left: 1px solid var(--rule); color: var(--ink-3); }
.video { position: relative; display: block; margin: 28px 0 40px; aspect-ratio: 16 / 9; background: var(--surface); border: 1px solid #c856374d; border-radius: 3px; overflow: hidden; box-shadow: var(--shadow); cursor: pointer; }
.video img, .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; object-fit: cover; }
.video .play { position: absolute; left: 50%; top: 50%; width: 76px; height: 54px; margin: -27px 0 0 -38px; border-radius: 14px; background: rgba(39,40,34,.82); border: 2px solid var(--accent); transition: background .15s; }
.video .play::after { content: ""; position: absolute; left: 30px; top: 15px; border-style: solid; border-width: 12px 0 12px 20px; border-color: transparent transparent transparent var(--heading); }
.video:hover .play, .video:focus-visible .play { background: var(--accent); }
.video:hover .play::after, .video:focus-visible .play::after { border-left-color: var(--ink); }
</style>
<script src="skins/skins.js"></script>
<script src="search.js"></script>
</head>
<body>
<div class="wrap">
<header class="mast">
<a href="./" aria-label="libbitcoin.org">
<svg
xmlns="http://www.w3.org/2000/svg"
class="logo" width="132"
height="114" aria-label="libbitcoin" role="img"
viewBox="0 0 63.431988 54.981449"
version="1.1"
>
<defs
/>
<g
transform="translate(-63.81855,-387.75114)">
<path
style="fill:#c85637;fill-opacity:1"
d="m 70.27468,409.29117 c 0.0769,-1.245 0.2286,-2.5713 0.41158,-3.5998 0.025,-0.1402 0.0881,-0.4949 0.14026,-0.7881 0.0522,-0.2933 0.13503,-0.6794 0.18409,-0.8578 0.0832,-0.3028 0.13024,-0.4438 0.43292,-1.2982 0.3045,-0.8596 0.97195,-1.8469 1.75795,-2.6006 0.36693,-0.3518 0.95197,-0.8196 1.15832,-0.9264 0.0857,-0.045 0.25545,-0.149 0.3771,-0.2328 0.12166,-0.084 0.33036,-0.2036 0.46377,-0.2665 1.23962,-0.5845 1.33775,-0.6266 1.74944,-0.7509 0.19126,-0.058 0.68158,-0.2097 1.08959,-0.3377 0.40802,-0.1279 0.88789,-0.2674 1.0664,-0.3099 0.39674,-0.095 1.06655,-0.4224 1.474,-0.7216 0.18376,-0.1349 0.44576,-0.4014 0.66601,-0.6776 0.19969,-0.2505 0.37762,-0.4663 0.39539,-0.4796 0.0177,-0.013 0.0881,-0.1072 0.15629,-0.2086 0.29386,-0.4372 1.25301,-1.4186 1.75938,-1.8002 0.5269,-0.3972 0.7891,-0.5733 0.90812,-0.6103 0.0616,-0.018 0.23094,-0.094 0.37642,-0.1674 0.93681,-0.4699 1.61728,-0.5851 3.79247,-0.642 0.90528,-0.024 1.79202,-0.056 1.97052,-0.072 0.70965,-0.063 1.41262,-0.3285 1.90098,-0.7168 0.12751,-0.1014 0.3072,-0.2354 0.39932,-0.2978 0.0921,-0.062 0.21732,-0.1787 0.27819,-0.2584 0.36194,-0.4739 1.35906,-1.3614 1.82464,-1.6238 1.31868,-0.7436 2.12425,-1.0365 3.38625,-1.2312 0.71314,-0.1099 2.29453,-0.073 2.96739,0.07 0.77273,0.164 1.99265,0.6058 2.78191,1.0074 0.0765,0.039 0.23298,0.098 0.34774,0.132 0.11475,0.034 0.40717,0.1428 0.6498,0.2425 0.7568,0.3106 1.02277,0.3588 1.96984,0.3571 0.77754,0 0.87419,-0.011 1.41415,-0.1464 1.79851,-0.4497 3.391,-0.4867 4.84517,-0.1124 0.74468,0.1916 1.26262,0.3862 1.74736,0.6564 0.27251,0.152 0.50715,0.2762 0.52138,0.2762 0.0862,0 1.30467,1.0079 1.38732,1.1475 0.0218,0.037 0.11779,0.1376 0.21338,0.224 0.0956,0.086 0.23421,0.246 0.30804,0.3549 0.0738,0.1088 0.14517,0.2082 0.15856,0.221 0.12486,0.119 0.51922,0.679 0.62057,0.8811 0.0702,0.1402 0.15447,0.2861 0.18718,0.3244 0.10613,0.124 0.53064,1.0094 0.88512,1.8457 l 0.0847,0.1997 -0.62196,0.6233 c -0.34206,0.3427 -0.60841,0.7783 -0.62152,0.7781 -0.0132,0 -0.14198,-0.4404 -0.25673,-0.7884 -0.39523,-1.1985 -0.50396,-1.4611 -0.91895,-2.2196 -0.24015,-0.4389 -1.19591,-1.4552 -1.60796,-1.7098 -0.0765,-0.047 -0.24341,-0.165 -0.37092,-0.2616 -0.35935,-0.2725 -1.45873,-0.8197 -2.00805,-0.9996 -1.29364,-0.4237 -2.05712,-0.5493 -3.1385,-0.5163 -0.78744,0.024 -1.183,0.1009 -1.76189,0.3425 -0.153,0.064 -0.34369,0.1358 -0.42375,0.1599 -0.164,0.05 -0.56638,0.3139 -0.8242,0.5417 -0.28904,0.2555 -0.64919,0.8028 -0.78808,1.1976 -0.0709,0.2014 -0.1446,0.383 -0.16387,0.4035 -0.0193,0.021 -0.0587,-0.084 -0.0875,-0.2319 -0.0288,-0.1479 -0.13104,-0.4869 -0.22711,-0.7535 -0.16835,-0.4669 -0.18894,-0.4989 -0.56878,-0.8826 -0.41772,-0.422 -0.81609,-0.7275 -1.15914,-0.8888 -0.11475,-0.054 -0.2608,-0.134 -0.32455,-0.178 -0.18248,-0.1256 -0.88066,-0.4283 -1.13595,-0.4925 -0.1275,-0.032 -0.34658,-0.091 -0.48684,-0.1307 -0.65257,-0.1855 -1.20132,-0.2672 -1.95867,-0.2919 -0.96666,-0.031 -1.34796,0.023 -2.67786,0.3836 -0.64715,0.1754 -1.8891,0.8184 -2.15599,1.1163 -0.0255,0.029 -0.16633,0.1386 -0.31297,0.2448 -0.14662,0.1062 -0.26665,0.2081 -0.26674,0.2265 -9e-5,0.018 -0.13386,0.1736 -0.29729,0.3451 -0.16345,0.1716 -0.34595,0.3936 -0.40557,0.4935 -0.0597,0.1 -0.21615,0.3391 -0.34788,0.5318 -0.13172,0.1925 -0.25292,0.3924 -0.26934,0.4442 -0.0165,0.052 -0.15302,0.3534 -0.30357,0.6705 -0.15053,0.3171 -0.29863,0.6775 -0.3291,0.8011 -0.0304,0.1234 -0.13356,0.4644 -0.22908,0.7576 -0.0955,0.2934 -0.23282,0.7732 -0.30511,1.0665 l -0.13141,0.5332 -0.0379,-0.51 c -0.0381,-0.5125 -0.0121,-2.0586 0.039,-2.3183 l 0.0273,-0.1391 -0.40886,-0.01 c -0.22489,-0.01 -0.94093,-0.086 -1.59121,-0.1838 -1.17792,-0.1765 -1.18783,-0.1772 -2.666,-0.1788 l -1.48369,0 -0.3589,0.1272 c -0.67067,0.2373 -1.36975,0.6516 -1.92422,1.1404 -0.40366,0.3559 -1.07855,1.2559 -1.20015,1.6006 -0.037,0.1048 -0.0955,0.2337 -0.13014,0.2865 -0.0987,0.1507 -0.42896,0.9497 -0.48799,1.1806 -0.0434,0.1699 -0.15947,0.5475 -0.35536,1.1566 -0.014,0.044 -0.34457,-0.2518 -0.95843,-0.8578 l -0.93687,-0.9247 0.96085,0.9092 0.94025,0.8338 -0.10166,0.4213 c -0.0486,0.2013 -0.12668,0.315 -0.29027,0.4762 l -0.21608,0.2128 -0.1995,-0.3935 c -0.16447,-0.3243 -0.2373,-0.4174 -0.41472,-0.5302 -0.11836,-0.075 -0.3091,-0.1619 -0.42385,-0.1925 -0.5625,-0.1504 -2.36958,0.1838 -3.27212,0.6052 -0.22765,0.1063 -0.44522,0.2199 -0.48347,0.2524 -0.0382,0.033 -0.12665,0.077 -0.19643,0.1 -0.37614,0.1211 -1.52719,1.1173 -2.0523,1.7763 -0.37144,0.4662 -0.8953,1.3611 -1.03987,1.7765 -0.0467,0.134 -0.14128,0.4001 -0.21028,0.5914 -0.36512,1.0119 -0.63928,2.5319 -0.82379,4.567 -0.0718,0.7909 -0.0763,5.9657 -0.006,6.1371 0.0419,0.1013 0.0566,0.084 0.19279,-0.2201 0.0811,-0.1814 0.18026,-0.4602 0.22032,-0.6197 0.0401,-0.1594 0.10187,-0.3942 0.13732,-0.5216 0.10766,-0.3871 0.33354,-1.4556 0.41167,-1.9474 0.0765,-0.4817 0.21211,-2.0048 0.21458,-2.4103 0.002,-0.3682 0.0695,-0.1597 0.16428,0.5093 0.1999,1.411 0.0697,3.2817 -0.35802,5.1465 -0.0292,0.1276 -0.1441,0.5088 -0.25524,0.8473 -0.19364,0.5897 -0.31275,1.0718 -0.55249,2.2361 -0.31786,1.5437 -0.33434,3.3583 -0.0461,5.0832 0.0378,0.2261 0.11161,0.6614 0.16411,0.9674 0.0525,0.306 0.12664,0.7906 0.16473,1.0768 0.16561,1.2444 0.62703,2.5525 1.13059,3.2053 0.15152,0.1964 0.54908,0.595 0.75285,0.7548 0.31024,0.2432 0.76246,0.4493 1.24492,0.5674 0.7694,0.1881 0.98914,0.2146 1.78252,0.2146 l 0.74544,0 0.82983,0.7519 c 0.92373,0.8371 1.16881,0.6904 -0.0658,0.9919 -0.64521,0.1576 -1.56054,0.197 -2.14042,0.1128 -0.67485,-0.098 -1.42023,-0.2803 -1.75427,-0.4288 -1.12121,-0.4983 -1.59994,-0.8031 -2.20486,-1.4044 -0.3463,-0.3441 -0.94797,-1.0907 -0.94797,-1.1762 0,-0.021 -0.0815,-0.192 -0.1811,-0.3811 -0.29038,-0.5515 -0.41103,-0.9031 -0.55551,-1.6189 -0.17385,-0.8614 -0.1715,-0.8462 -0.28121,-1.8315 -0.16954,-1.5228 -0.20463,-2.4655 -0.21405,-5.7493 -0.005,-1.7595 -0.0203,-4.4928 -0.0339,-6.0738 -0.0136,-1.5811 -0.007,-3.1639 0.015,-3.5174 z m 7.74587,20.307 c 0.087,-0.014 0.28075,-0.038 0.43045,-0.054 0.58395,-0.062 0.85526,-0.2468 1.07986,-0.7334 0.12686,-0.2749 0.13137,-0.3099 0.13149,-1.0264 0,-0.4081 -0.0255,-1.107 -0.0569,-1.5532 -0.12465,-1.7733 -0.16404,-3.4202 -0.13469,-5.6312 l 0.044,-2.3107 0.15067,-0.1304 0.13609,-0.111 -0.14314,0.1289 -0.14314,0.1288 -0.0312,-1.6359 c -0.0171,-0.8996 -0.0439,-1.7922 -0.0594,-1.9835 l -0.0282,-0.4302 0.3697,0.3623 0.35999,0.4156 -0.36637,-0.379 -0.3664,-0.379 -0.0389,-0.6874 c -0.0655,-1.1573 0.0541,-2.9473 0.28461,-4.2575 0.26096,-1.4832 0.40935,-2.0623 0.67438,-2.6315 l 0.1132,-0.2431 0,0.3014 c 1e-5,0.1657 -0.0201,0.5308 -0.0449,0.8113 -0.21156,2.4042 -0.24312,4.3228 -0.1003,6.097 0.0544,0.6758 0.0991,1.3106 0.0993,1.4107 l 0,0.1819 -0.12751,-0.1119 c -0.0967,-0.085 -0.0668,-0.15 0.0474,-0.026 0.14305,0.1557 0.12653,0.2604 0.1286,0.6104 0.002,0.2028 0.0201,0.64 0.0419,0.9715 l 0.0398,0.6027 -0.35493,0.3709 -0.35491,0.371 0.37239,-0.4131 0.33357,-0.345 0.0292,0.441 c 0.0564,0.7031 0.21587,2.8847 0.32999,4.5132 0.10996,1.5695 0.16383,2.5026 0.24885,4.3119 0.0435,0.9256 0.0926,1.0975 0.49544,1.7334 0.49601,0.783 1.47562,1.4565 2.57213,1.7684 0.24226,0.069 0.47059,0.1343 0.5074,0.1452 0.0435,0.014 -0.15051,0.2416 -0.55639,0.6554 l -0.62336,0.6356 0.60544,-0.6601 0.56175,-0.6309 0.32489,0.064 c 0.10663,0.024 0.42321,0.065 0.7035,0.089 0.89249,0.078 1.78665,-0.047 2.6988,-0.3784 0.59164,-0.215 1.29291,-0.8644 1.56615,-1.4504 0.0928,-0.199 0.30584,-1.0625 0.38344,-1.5541 0.026,-0.1653 0.0555,-0.7595 0.0655,-1.3205 0.0178,-1.0036 -0.0196,-1.6589 -0.18787,-3.2912 -0.0395,-0.3829 -0.10182,-1.4787 -0.13851,-2.435 -0.0676,-1.7609 -0.19837,-4.0811 -0.32539,-5.7724 -0.10204,-1.3584 -0.0873,-4.7694 0.0273,-6.3123 0.10082,-1.358 0.27624,-2.4725 0.44776,-2.8448 l 0.11745,-0.2551 0.051,0.1391 c 0.0342,0.093 0.0516,0.8423 0.053,2.2719 0.002,2.4023 0.008,2.666 0.0613,2.666 0.0206,0 0.0838,-0.1616 0.14032,-0.3594 0.092,-0.3214 0.38681,-0.9542 0.62102,-1.3329 0.0807,-0.1305 0.0846,-0.1319 0.0625,-0.023 -0.46172,2.2743 -0.50107,3.6758 -0.18753,6.6767 0.15681,1.5006 0.23454,2.8813 0.37205,6.607 0.065,1.7595 0.1371,3.7022 0.16036,4.3169 0.0437,1.1549 0.0646,1.3127 0.25775,1.9482 0.10149,0.3338 0.14609,0.4085 0.39271,0.6574 0.18145,0.1832 0.41894,0.3559 0.68287,0.4968 0.42253,0.2256 1.1278,0.4859 1.31616,0.4859 0.0799,0 0.42906,0.1986 0.95214,0.7758 l 0.73577,0.7465 -0.4991,-0.027 c -0.54711,-0.022 -2.77755,-0.2304 -2.87862,-0.2693 -0.12001,-0.046 -0.54435,0.1169 -0.79811,0.3066 -0.52298,0.3907 -0.87439,0.8991 -1.02397,1.4816 -0.10297,0.4009 -0.0686,1.1448 0.0738,1.5962 0.17214,0.5457 0.79466,1.7503 0.86709,1.6779 0.0302,-0.03 0.14161,-0.8836 0.19757,-1.5127 0.0847,-0.9526 0.25616,-1.5862 0.61328,-2.2667 0.18191,-0.3466 0.29012,-0.4559 0.59363,-0.5995 0.34025,-0.161 0.97914,-0.1713 1.43732,-0.023 1.36484,0.4412 2.0912,0.664 2.24872,0.6899 0.15681,0.026 0.34731,0.094 0.79522,0.5727 l 0.50298,0.5372 -0.50782,-0.5201 -0.75774,-0.5809 0.52594,0.1473 c 0.41063,0.1289 0.76034,0.2568 0.99627,0.3643 0.11563,0.053 0.26169,0.1091 0.32456,0.1252 0.0629,0.016 0.1554,0.06 0.20561,0.097 0.0877,0.065 0.08,0.079 -0.1958,0.3548 l -0.28711,0.2871 -0.23509,-0.1229 c -0.43871,-0.2292 -0.0374,-0.1153 -0.003,-0.071 0.0915,0.1201 -0.0273,0.1073 -0.35386,-0.038 -0.42994,-0.1914 -1.03916,-0.4236 -1.26479,-0.4821 -0.11475,-0.03 -0.58104,-0.1779 -1.03622,-0.3293 -1.16257,-0.3869 -1.75894,-0.4555 -2.1172,-0.2439 -0.4337,0.2562 -0.85733,1.6873 -0.979,3.3073 -0.0595,0.7921 -0.0409,0.8686 0.24481,1.0082 0.8542,0.4172 1.3428,0.6386 1.6079,0.7284 0.17006,0.057 0.63258,0.2204 1.02785,0.3616 0.39526,0.1413 0.84384,0.2874 0.99685,0.3248 0.15301,0.037 0.68999,0.1752 1.19332,0.3062 0.50331,0.131 0.9852,0.2383 1.07082,0.2383 l 0.15567,0 0.0319,-0.6144 c 0.0176,-0.3379 0.0512,-0.896 0.0747,-1.2402 0.0827,-1.2091 0.0432,-2.2553 -0.1012,-2.6849 -0.0308,-0.092 -0.10259,-0.2313 -0.15956,-0.3103 l -0.1585,-0.1503 0.26483,-0.2875 0.1962,-0.3355 0.35929,0.3106 c 0.11457,0.1254 0.24639,0.3028 0.29293,0.394 0.0746,0.1463 0.2269,1.0875 0.2269,1.3212 0,0.059 -0.15711,-0.2041 -0.51474,-0.5532 l -0.52161,-0.5093 0.55736,0.499 0.47499,0.5674 0.0289,0.2995 c 0.028,0.2899 -0.0371,2.8412 -0.0872,3.4142 l -0.0247,0.2827 0.31724,0.1462 c 0.17447,0.081 0.33239,0.1462 0.35094,0.1462 0.0185,0 0.31941,0.1384 0.6686,0.3075 0.34918,0.1692 0.71089,0.3343 0.80381,0.3672 0.0929,0.033 0.39542,0.1827 0.6723,0.3332 0.70403,0.3826 0.66538,0.376 0.66705,0.115 0.002,-0.2725 0.1322,-0.923 0.29424,-1.4669 0.10748,-0.3608 0.62496,-1.4863 0.66497,-1.4464 0.008,0.01 -0.006,0.1587 -0.0316,0.3346 -0.0691,0.478 -0.0574,1.4703 0.0228,1.9283 0.0723,0.4133 0.18186,0.7794 0.24661,0.8239 0.02,0.014 0.10301,0.1228 0.18432,0.2423 0.28385,0.4173 0.82698,0.7731 1.41098,0.9245 0.34435,0.089 0.46449,0.096 1.37668,0.074 0.8526,-0.02 1.0505,-0.039 1.34716,-0.1267 0.42766,-0.1268 1.42508,-0.5146 1.7387,-0.676 0.12751,-0.066 0.46134,-0.2359 0.74185,-0.3785 0.28051,-0.1425 0.59347,-0.3155 0.69548,-0.3843 0.102,-0.069 0.35238,-0.2099 0.55639,-0.3133 0.204,-0.1036 0.53698,-0.294 0.73993,-0.4234 0.20298,-0.1293 0.38784,-0.2352 0.4108,-0.2352 0.0229,0 0.2724,-0.1381 0.55427,-0.3069 0.2819,-0.1689 0.58735,-0.3381 0.67879,-0.3762 0.0915,-0.038 0.34365,-0.174 0.5604,-0.3019 0.21676,-0.128 0.46714,-0.2585 0.55639,-0.29 0.0892,-0.031 0.4005,-0.1853 0.69166,-0.3416 0.29116,-0.1564 0.55394,-0.2844 0.58396,-0.2844 0.03,0 0.34272,-0.146 0.6949,-0.3245 0.35219,-0.1785 0.67394,-0.3245 0.71499,-0.3245 0.0411,0 0.43126,0.1961 0.71562,0.5394 l 0.5724,0.5806 -0.71127,0.3404 c -0.35344,0.172 -0.80738,0.3839 -1.00878,0.4706 -0.20141,0.087 -0.46221,0.2085 -0.57957,0.2708 -0.11736,0.062 -0.60983,0.3025 -1.09435,0.5341 -0.48451,0.2316 -0.97482,0.4698 -1.08958,0.5292 -1.56309,0.8093 -3.47409,1.7747 -4.08304,2.0625 -0.94489,0.4466 -2.13053,0.8448 -2.84858,0.9567 -0.68216,0.1061 -1.9238,0.074 -2.59646,-0.066 -0.64465,-0.1351 -1.89064,-0.486 -2.52691,-0.7116 -0.29326,-0.104 -0.78358,-0.2775 -1.08958,-0.3856 -0.30602,-0.108 -0.76503,-0.2836 -1.02004,-0.39 -0.25501,-0.1065 -0.55754,-0.2211 -0.6723,-0.2546 -0.11475,-0.034 -0.36512,-0.1269 -0.55639,-0.2072 -0.81257,-0.3411 -1.49667,-0.5845 -3.66286,-1.3031 -1.27843,-0.4241 -2.19696,-0.7762 -2.48054,-0.9508 -0.051,-0.031 -0.20203,-0.092 -0.33561,-0.1355 -0.13358,-0.043 -0.25507,-0.098 -0.26996,-0.1222 -0.015,-0.024 -0.14557,-0.1075 -0.29034,-0.1854 -0.60731,-0.3266 -0.80642,-0.449 -1.12308,-0.691 -0.61759,-0.4717 -1.44449,-1.3527 -1.67854,-1.7882 -0.33923,-0.6311 -0.55811,-1.2088 -0.65837,-1.7372 -0.0889,-0.4689 -0.0919,-1.5876 -0.006,-2.108 0.0339,-0.2039 0.0577,-0.3755 0.053,-0.3811 -0.005,-0.01 -0.17059,0.053 -0.36871,0.1297 -0.44279,0.1719 -1.09628,0.3431 -1.55906,0.4082 -0.98469,0.1385 -2.59483,0.098 -3.47739,-0.087 -1.2677,-0.2659 -2.59342,-0.8349 -3.06374,-1.3148 -0.0912,-0.093 -0.18113,-0.1692 -0.19976,-0.1692 -0.0324,0 -0.39708,0.27 -0.44573,0.33 -0.0126,0.016 -0.11707,0.076 -0.23182,0.1335 -0.11476,0.058 -0.26081,0.1411 -0.32457,0.1853 -0.0637,0.045 -0.21236,0.1226 -0.33027,0.1743 l -0.21438,0.094 -0.75525,-0.7562 -0.84106,-0.7633 0.24402,-0.018 z m 15.58108,8.5473 c 0.0162,-0.025 0.21324,-0.2502 0.49332,-0.537 l 0.54354,-0.5045 -0.52161,0.5093 c -0.48449,0.4728 -0.53351,0.5602 -0.51525,0.5322 z m -12.58266,-38.2572 c 0.184,-0.1769 0.20539,-0.1872 0.1777,-0.085 -0.0173,0.064 -0.0651,0.3091 -0.10618,0.5453 -0.0411,0.2362 -0.0835,0.4206 -0.0942,0.4098 -0.0107,-0.011 -0.0571,-0.1656 -0.10303,-0.3441 l -0.0835,-0.3247 z m 1.92386,28.9213 c 0.70402,0.277 1.56738,0.4164 2.30667,0.3725 0.55815,-0.034 0.63805,-0.046 1.11277,-0.1726 0.64096,-0.1716 1.29374,-0.4239 1.74989,-0.6764 0.24886,-0.1378 0.49961,-0.2625 0.55722,-0.2771 0.0576,-0.014 0.11508,-0.044 0.12768,-0.064 0.0408,-0.065 0.81577,-0.5658 0.83987,-0.5418 0.0129,0.013 -0.039,0.1455 -0.11514,0.2947 -0.24396,0.4778 -1.05909,1.1644 -1.70608,1.437 -0.465,0.1959 -1.65116,0.4339 -2.16211,0.4339 l -0.23832,0 0.23005,-0.2434 0.23006,-0.2434 -0.26342,0.2503 -0.26344,0.2503 -0.46485,-0.053 c -0.48839,-0.055 -1.32518,-0.269 -1.58859,-0.4051 -0.1618,-0.084 -0.64204,-0.4263 -0.64204,-0.458 0,-0.01 0.1304,0.034 0.28978,0.096 z m 4.10502,-34.6879 c 0.90698,0.074 2.10205,0.6827 2.87219,1.4621 0.53791,0.5444 0.98961,1.3153 1.24965,2.1329 0.24078,0.7569 0.24925,2.2276 0.0173,3.0136 l -0.0889,0.3015 -0.004,-0.4636 c -0.009,-1.0236 -0.27779,-2.0719 -0.78223,-3.0518 -0.19455,-0.3779 -0.42249,-0.7639 -0.50656,-0.8578 -0.084,-0.094 -0.2098,-0.2524 -0.27943,-0.3522 -0.2516,-0.3608 -1.47183,-1.469 -1.69246,-1.537 -0.0568,-0.017 -0.19718,-0.099 -0.31193,-0.1821 -0.11476,-0.083 -0.3547,-0.2284 -0.53321,-0.3237 l -0.32456,-0.1734 0.3842,0.031 z m 7.33857,34.6152 c 0.0144,0 0.25462,0.029 0.53387,0.066 0.79157,0.1044 1.73903,0.1348 2.36103,0.076 0.64209,-0.061 1.55451,-0.2099 1.92415,-0.3138 0.48711,-0.137 1.60144,-0.6421 1.75474,-0.7954 0.0523,-0.052 0.205,-0.1706 0.33952,-0.2631 0.29514,-0.2031 0.89788,-0.9053 0.97254,-1.1333 0.0296,-0.09 0.0802,-0.2056 0.11243,-0.2567 0.0763,-0.1205 0.27875,-0.8036 0.34355,-1.1591 0.0885,-0.4854 0.10944,-1.6412 0.053,-2.9272 -0.03,-0.6851 -0.0662,-1.3605 -0.0805,-1.5007 l -0.0259,-0.3306 0.20785,0.2198 0.19413,0.2267 -0.20458,-0.2181 -0.20456,-0.218 0.0313,-1.6365 c 0.0172,-0.9001 0.061,-2.2939 0.0973,-3.0971 0.0363,-0.8033 0.0799,-1.8674 0.0969,-2.3646 l 0.0795,-1.0886 0.37551,-0.2561 0.42406,-0.4404 -0.39287,0.4755 c -0.34088,0.3295 -0.46563,0.3347 -0.44731,0.2431 0.0129,-0.064 0.036,-0.335 0.0516,-0.6027 0.0477,-0.818 0.25226,-2.9391 0.37552,-3.8947 0.0642,-0.4972 0.14606,-1.1754 0.18201,-1.5068 0.036,-0.3316 0.1085,-0.8219 0.16123,-1.0896 0.13819,-0.7019 0.32908,-1.5445 0.36418,-1.6075 0.0165,-0.03 0.0316,0.5231 0.0334,1.2287 0.002,0.7055 0.033,3.1503 0.0696,5.4325 0.0746,4.6656 0.0739,7.318 -0.003,11.8696 -0.0558,3.2871 -0.0455,3.5788 0.13752,3.9377 0.12876,0.2524 0.56069,0.5983 0.94391,0.7557 0.49466,0.2034 1.92968,0.4557 3.0995,0.5449 1.43828,0.1097 3.22436,0.016 4.01448,-0.2108 0.0445,-0.013 -0.0747,0.051 -0.26485,0.1423 -0.43897,0.2101 -0.84416,0.3209 -1.60156,0.4379 -1.21765,0.1882 -2.44437,0.2368 -3.54695,0.1406 -0.70274,-0.061 -1.98181,-0.2607 -2.22754,-0.3474 -0.10732,-0.038 -0.20547,-0.069 -0.21814,-0.069 -0.056,0 0.10414,0.144 0.23662,0.2129 0.82291,0.4276 1.22027,0.5811 1.72222,0.6652 0.15301,0.026 0.51814,0.087 0.8114,0.1367 1.55034,0.2616 3.58445,0.2373 5.26246,-0.063 0.20401,-0.037 0.50438,-0.09 0.6675,-0.1187 1.05345,-0.1852 2.01213,-0.8375 2.54337,-1.7303 0.48677,-0.8183 0.66617,-1.2786 1.0595,-2.7191 0.27406,-1.0037 0.50959,-2.8109 0.55799,-4.2809 l 0.0523,-1.0171 0.81982,0.8291 0.80952,0.7502 -0.0948,0.995 c -0.11484,1.2051 -0.1598,1.5269 -0.50884,2.9786 -0.10423,0.4335 -0.25088,0.9638 -0.3259,1.1785 -0.13861,0.3965 -0.13207,0.4648 0.0448,0.4669 0.11813,0 0.683,0.4037 0.98179,0.6993 0.24213,0.2396 0.78821,1.0295 0.78821,1.1402 0,0.014 -0.0964,-0.03 -0.21425,-0.096 -0.53302,-0.2979 -1.31327,-0.3877 -2.08007,-0.2394 -0.29647,0.057 -0.33739,0.08 -0.48449,0.2649 -0.80727,1.0163 -2.11024,1.7559 -3.85328,2.1872 -1.34485,0.3328 -1.11939,0.3677 -1.77644,-0.2749 l -0.56316,-0.5509 0.63826,0.5437 c 0.28963,0.2965 0.64231,0.503 0.61764,0.5182 -0.0247,0.015 -0.5613,0.1074 -0.89003,0.1514 -0.4524,0.061 -0.94711,0.081 -2.03503,0.082 -1.90635,0 -2.65184,-0.086 -4.63652,-0.5526 -0.45302,-0.1066 -0.88725,-0.251 -1.15447,-0.3839 -0.25709,-0.1278 -0.32542,-0.1139 -0.59244,0.1206 -0.0873,0.077 -0.25156,0.1753 -0.36505,0.2192 -0.11348,0.044 -0.24804,0.1164 -0.29904,0.1609 -0.13035,0.1138 -0.85863,0.4549 -1.04792,0.4908 -0.0867,0.017 -0.17844,0.045 -0.20395,0.064 -0.11589,0.084 -1.20594,0.4005 -1.7387,0.5046 -0.43933,0.086 -1.94279,0.2338 -2.60008,0.256 l -0.62955,0.021 -0.73822,-0.744 -0.85469,-0.7634 0.3251,0.047 c 1.40368,0.1867 2.64008,0.1566 3.88219,-0.094 0.18439,-0.038 0.34784,-0.088 0.36323,-0.1131 0.0165,-0.027 -0.0162,-0.035 -0.0802,-0.022 -0.53209,0.1185 -2.20303,0.1569 -2.93649,0.067 -0.49815,-0.061 -1.18012,-0.2324 -1.43733,-0.3619 -0.102,-0.051 -0.1737,-0.094 -0.15932,-0.095 z m 8.57464,0.068 c 0.30601,-0.3053 0.55639,-0.5654 0.55639,-0.5781 0,-0.013 -0.25038,0.2265 -0.55639,0.5317 -0.30601,0.3052 -0.55638,0.5654 -0.55638,0.5782 0,0.013 0.25037,-0.2265 0.55638,-0.5318 z m 0.45708,-7.7954 c -0.0258,0.024 0.0838,0.034 -0.12093,-0.1582 l -0.22023,-0.2067 0.25132,0.1928 c 0.11369,0.1211 0.0898,0.1721 0.0898,0.1721 z m -3.09764,-31.0129 c 0.52221,-0.128 1.06986,-0.082 1.59121,0.1351 0.22613,0.094 0.48308,0.2197 0.571,0.2795 0.28959,0.1967 0.83431,0.7503 1.03505,1.0516 0.36523,0.5484 0.60697,0.9689 0.67052,1.1663 0.0348,0.108 0.12801,0.3633 0.20728,0.5673 0.25283,0.6506 0.41019,1.3415 0.48709,2.1386 0.0948,0.9832 0.0907,1.5075 -0.0189,2.4051 -0.12796,1.0477 -0.16658,1.1447 -0.20313,0.51 -0.14257,-2.4748 -0.19426,-2.9968 -0.4006,-4.0458 -0.0739,-0.3759 -0.18506,-0.8108 -0.24693,-0.9664 -0.3025,-0.7609 -0.76522,-1.3183 -1.50105,-1.8078 -0.2104,-0.14 -0.85495,-0.4924 -1.43231,-0.7832 -0.57736,-0.2906 -1.0589,-0.5377 -1.0701,-0.5488 -0.0111,-0.011 0.1287,-0.057 0.31087,-0.1015 z m 7.13142,50.7474 c 0.0715,-0.1658 0.17238,-0.3953 0.2242,-0.51 0.12627,-0.2797 0.32878,-0.8301 0.35824,-0.9737 0.0132,-0.064 0.0749,-0.335 0.13737,-0.6028 0.0625,-0.2677 0.14056,-0.6433 0.17353,-0.8346 0.0775,-0.4496 0.0772,-1.7784 0,-2.2254 -0.0979,-0.5633 -0.36955,-1.5962 -0.49333,-1.8761 -0.13842,-0.313 -0.14306,-0.364 -0.0192,-0.2104 0.13969,0.1732 0.52456,0.949 0.66617,1.343 0.16698,0.4646 0.30758,1.4925 0.31095,2.2734 0.002,0.6951 -0.10026,1.5744 -0.24077,2.0505 -0.11386,0.3857 -0.45684,1.0733 -0.68443,1.3719 -0.18116,0.2377 -0.56564,0.6033 -0.56354,0.5357 0,-0.022 0.0598,-0.1757 0.13126,-0.3415 z m 5.4649,-2.411 c 0.027,0 0.24316,-0.1304 0.48044,-0.2898 0.2373,-0.1594 0.51098,-0.3351 0.60817,-0.3905 0.0972,-0.055 0.30609,-0.1979 0.46422,-0.3167 0.15812,-0.1188 0.34054,-0.2436 0.40535,-0.2773 0.0649,-0.034 0.28478,-0.1778 0.48879,-0.3205 0.20401,-0.1428 0.45438,-0.2995 0.55638,-0.3483 0.10201,-0.049 0.30023,-0.1645 0.44048,-0.257 0.48365,-0.3188 1.85066,-0.9626 2.2719,-1.07 0.14025,-0.036 0.46365,-0.1186 0.71866,-0.1842 0.42566,-0.1094 1.66788,-0.2247 1.59871,-0.1484 -0.0133,0.014 -0.28448,0.1297 -0.60275,0.2557 -0.31827,0.1259 -0.81861,0.3437 -1.11187,0.4838 -0.29327,0.1401 -0.61116,0.2798 -0.70642,0.3105 -0.0953,0.03 -0.18648,0.078 -0.20265,0.1033 -0.0165,0.026 -0.15414,-0.071 -0.31359,-0.2236 l -0.28419,-0.2713 0.31404,0.2518 c 0.15717,0.1259 0.32544,0.2247 0.31417,0.2337 -0.0547,0.044 -0.96181,0.4651 -0.99947,0.4651 -0.0237,0 -0.33595,0.1439 -0.69374,0.3199 -0.35781,0.1759 -0.97394,0.4702 -1.3692,0.6541 -0.39528,0.1838 -0.93775,0.4395 -1.20551,0.5683 -0.54212,0.2608 -1.16551,0.5068 -1.19908,0.4732 -0.0121,-0.012 0,-0.022 0.0272,-0.022 z m 3.59847,-28.9747 c 0.0707,0.062 0.42164,1.1745 0.52558,1.6654 0.0621,0.2934 0.16519,0.7813 0.22913,1.0845 0.0639,0.3032 0.16439,0.8561 0.22325,1.2286 l 0.10703,0.6775 -0.19093,0.2086 -0.19095,0.2087 0.17987,-0.2391 0.18956,-0.2001 0.0617,0.7269 c 0.1253,1.4773 0.16887,1.9611 0.19818,1.9611 0.0557,0 0.17884,-1.6907 0.18076,-2.4812 l 0.002,-0.6055 0.66208,-0.6911 0.67664,-0.6426 -0.0134,0.6648 c -0.0155,0.3442 -0.0491,1.3457 -0.0749,2.2255 -0.0513,1.7545 -0.11848,3.2428 -0.18515,4.1033 -0.0237,0.306 -0.0435,0.5875 -0.0442,0.6255 0,0.038 -0.37345,-0.3029 -0.82861,-0.7575 l -0.82755,-0.8266 -0.0287,-1.2594 c -0.0275,-1.2082 -0.0972,-2.237 -0.23929,-3.5312 -0.0364,-0.3316 -0.0792,-0.7697 -0.0951,-0.9738 -0.0477,-0.6112 -0.41767,-2.8393 -0.51788,-3.1188 -0.0158,-0.044 -0.0151,-0.068 0.002,-0.053 z m 0.8232,-3.1797 c 0.0815,0.153 0.20573,0.4347 0.27593,0.6259 0.0702,0.1913 0.24454,0.6453 0.38742,1.0089 0.14287,0.3636 0.25954,0.6871 0.25924,0.7187 -0.002,0.1 0.57009,1.7962 0.60467,1.7962 0.0181,0 0.0478,-0.1513 0.0659,-0.3361 0.0451,-0.4611 0.3364,-1.6272 0.44302,-1.7735 0.0186,-0.026 0.0789,-0.1784 0.13386,-0.3398 0.0942,-0.2761 0.41502,-0.9489 0.41996,-0.8807 0.002,0.018 -0.0377,0.2363 -0.0866,0.4868 -0.14268,0.731 -0.23024,1.3829 -0.27913,2.0783 -0.12512,1.7796 -0.14547,2.0642 -0.16919,2.3684 l -0.0256,0.3284 -0.66906,0.6679 -0.66908,0.6679 0,-0.7884 c 0,-2.2282 -0.3951,-5.5558 -0.8091,-6.8143 -0.0168,-0.051 0.0362,0.033 0.1178,0.1854 z m 1.51122,-10.1101 0.63689,-0.5792 0.0729,0.2383 c 0.0295,0.1124 0.14343,0.4859 0.2533,0.8302 0.22232,0.6967 0.35045,1.2221 0.47487,1.9473 0.0713,0.4157 0.10692,0.5172 0.24374,0.6954 0.15073,0.1964 0.39044,0.651 0.70267,1.3328 0.16247,0.3548 0.55022,1.6405 0.70968,2.3533 0.15208,0.68 0.38798,2.8287 0.48864,4.4512 0.2093,3.3731 0.41564,5.12 0.74752,6.3288 0.0525,0.1912 0.16402,0.6086 0.24779,0.9273 0.32798,1.2479 1.21084,3.8353 1.56625,4.5901 0.16324,0.3469 0.26744,0.5867 0.36252,0.8346 0.0875,0.2281 0.32649,0.7928 0.46401,1.0961 0.0479,0.1056 0.10112,0.2516 0.11837,0.3246 0.0173,0.073 0.15129,0.4977 0.2979,0.944 0.26543,0.8081 0.31346,0.9826 0.44025,1.5997 0.0367,0.1784 0.13964,0.6791 0.22884,1.1127 0.25264,1.2281 0.31033,1.7453 0.33712,3.0222 0.0262,1.2488 -0.0114,1.7724 -0.17937,2.4953 -0.10455,0.4499 -0.48632,1.4695 -0.6543,1.7473 -0.3497,0.5783 -0.50164,0.798 -0.79473,1.1494 -0.18032,0.2162 -0.45304,0.5171 -0.60604,0.6686 -0.49309,0.4886 -1.43149,1.2299 -1.97197,1.558 -0.14704,0.089 -0.35832,0.2219 -0.46951,0.2949 -0.11118,0.073 -0.25431,0.1664 -0.31807,0.2077 -0.0637,0.041 -0.25153,0.1452 -0.41728,0.2307 -0.16576,0.086 -0.33267,0.1821 -0.37093,0.2145 -0.0383,0.033 -0.40981,0.2328 -0.82565,0.4451 l -0.75613,0.3863 -0.57787,-0.5778 -0.69455,-0.5573 0.68564,-0.3257 c 0.31294,-0.1678 0.62113,-0.3214 0.68487,-0.3413 0.0638,-0.019 0.34543,-0.1641 0.62593,-0.3206 0.28051,-0.1564 0.58726,-0.3257 0.68166,-0.3762 0.34956,-0.1868 1.07646,-0.6469 1.34757,-0.8529 0.15381,-0.1169 0.3577,-0.2647 0.45308,-0.3283 0.43217,-0.2889 1.41069,-1.3385 1.66664,-1.7876 0.43355,-0.761 0.52876,-0.9458 0.58381,-1.1334 0.0336,-0.1149 0.11466,-0.3652 0.18002,-0.5563 0.42983,-1.2573 0.43968,-2.727 0.0308,-4.5904 -0.22197,-1.0113 -0.34106,-1.4586 -0.53717,-2.0169 -0.11646,-0.3315 -0.2434,-0.7231 -0.28213,-0.8704 -0.0387,-0.1473 -0.1753,-0.5228 -0.30353,-0.8346 -0.12823,-0.3117 -0.28321,-0.7163 -0.34441,-0.899 -0.0612,-0.1827 -0.19861,-0.5261 -0.30537,-0.7632 -0.10676,-0.2371 -0.27184,-0.6406 -0.36685,-0.8966 -0.095,-0.2559 -0.26713,-0.6845 -0.3825,-0.9522 -0.11537,-0.2678 -0.28742,-0.6955 -0.38233,-0.9504 -0.0949,-0.2551 -0.24226,-0.6469 -0.32744,-0.8708 -0.0852,-0.2239 -0.16888,-0.4846 -0.18601,-0.5796 -0.0171,-0.095 -0.0563,-0.2217 -0.0869,-0.2818 l -0.0558,-0.1093 -0.0534,0.1325 c -0.12412,0.3076 -0.38813,1.374 -0.45174,1.8248 -0.0378,0.2677 -0.0992,0.6642 -0.13653,0.8809 -0.15341,0.8915 -0.40789,2.9869 -0.46175,3.802 -0.0346,0.5237 -0.16317,1.9045 -0.18349,1.9704 -0.0598,0.1947 -0.16551,-1.6119 -0.16563,-2.833 -1.3e-4,-1.4126 0.0538,-2.5669 0.25548,-5.4663 0.0372,-0.5355 0.0888,-1.4119 0.11455,-1.9473 0.0257,-0.5355 0.0778,-1.5266 0.11568,-2.2024 0.13424,-2.3954 0.119,-4.5847 -0.0439,-6.3057 -0.15702,-1.6587 -0.21366,-1.9727 -0.61062,-3.3846 -0.21977,-0.7817 -0.25434,-0.8744 -0.59706,-1.5996 -0.10845,-0.2295 -0.20698,-0.4487 -0.21893,-0.4868 -0.0314,-0.1005 -0.0718,0.2626 -0.15184,1.3677 -0.0388,0.5356 -0.0828,1.0335 -0.0978,1.1066 l -0.0272,0.1329 -0.28916,-0.2866 -0.28916,-0.2865 -0.0304,-1.2141 c -0.0338,-1.3467 -0.11074,-2.2181 -0.28509,-3.2288 -0.064,-0.3711 -0.12556,-0.7282 -0.13678,-0.794 -0.0175,-0.1021 0.0576,-0.3069 0.60845,-0.8567 z m 0.13076,6.426 0.30419,0.3033 -0.071,0.4617 c -0.0391,0.254 -0.10319,0.6078 -0.14254,0.7863 -0.0393,0.1785 -0.0945,0.4393 -0.1225,0.5796 -0.028,0.1402 -0.0657,0.2717 -0.0838,0.292 -0.0404,0.046 -0.0834,-0.4961 -0.11691,-1.4744 -0.0141,-0.4079 -0.0358,-0.8565 -0.0486,-0.9968 l -0.0231,-0.255 z"
/>
<path
style="fill:#5c503f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 64.27427,411.93687 0.53033,1.9445 5.83364,-1.1048 -0.48614,-1.6352 z"
/>
<path
d="m 120.40933,398.93097 0.30936,1.9666 4.08797,-0.6629 -0.92808,-1.3921 z"
style="fill:#5c503f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
/>
<path
style="fill:#b9a180;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.15455109px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 70.09376,410.73507 0.12443,0.4987 -5.80685,0.7749 0.15721,0.6514 c 1.41068,0.2356 3.3835,0.1796 5.15116,-0.062 l 50.78108,-12.4235 3.10587,-0.1553 -0.62117,-1.0871 -2.57709,-0.01 -0.19549,-0.3467 4.17023,0.1996 0.77646,1.2423 0.15529,0.7764 -4.66618,0.267 c 0,0 -50.09002,12.6556 -50.8665,12.6556 -0.77646,0 -3.32366,-0.1885 -4.25542,-0.1885 -0.93178,0 -1.70824,-0.6212 -1.70824,-0.6212 l 0.31059,-1.2422 z"
/>
<path
style="fill:#ffa022;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.15455109px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 125.18231,400.37457 0.28788,13.0004 -6.67764,0.6212 -49.22813,10.8706 -2.95058,0.1553 -1.39764,-0.7765 -1.33075,-11.3125 2.34425,0.5546 3.49001,0.1979 50.93637,-12.734 2.95058,-0.1554 z"
/>
<g
transform="matrix(0.30583562,-0.07396385,0.07396385,0.30583562,-67.44226,247.45187)"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
>
<path
d="m 316.13409,646.12995 q 0,1.20002 -1.20001,1.20002 l -10.56013,0 q -1.20002,0 -1.20002,-1.20002 l 0,-25.44032 q 0,-1.20001 1.20002,-1.20001 l 4.60005,0 q 1.20002,0 1.20002,1.20001 l 0,18.84024 q 0,0.80001 0.80001,0.80001 l 3.96005,0 q 1.20001,0 1.20001,1.20002 l 0,4.60005 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 325.01795,646.12995 q 0,1.20002 -1.20001,1.20002 l -4.60006,0 q -1.20001,0 -1.20001,-1.20002 l 0,-25.44032 q 0,-1.20001 1.20001,-1.20001 l 4.60006,0 q 1.20001,0 1.20001,1.20001 l 0,25.44032 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 343.84444,642.1299 q 0,2.16003 -1.52002,3.68005 -1.52002,1.52002 -3.68005,1.52002 l -10.52013,0 q -1.20001,0 -1.20001,-1.20002 l 0,-25.44032 q 0,-1.20001 1.20001,-1.20001 l 10.52013,0 q 2.16003,0 3.68005,1.56002 1.52002,1.52002 1.52002,3.64004 l 0,5.72008 q 0,1.24001 -0.88001,2.12002 -0.88001,0.88001 -2.12003,0.88001 1.24002,0 2.12003,0.88001 0.88001,0.88002 0.88001,2.12003 l 0,5.72007 z m -7.00009,-11.80014 0,-3.04004 q 0,-0.80001 -0.80001,-0.80001 l -1.32001,0 q -0.80001,0 -0.80001,0.80001 l 0,3.04004 q 0,0.80001 0.80001,0.80001 l 1.32001,0 q 0.80001,0 0.80001,-0.80001 z m 0,9.20011 0,-3.04004 q 0,-0.80001 -0.80001,-0.80001 l -1.32001,0 q -0.80001,0 -0.80001,0.80001 l 0,3.04004 q 0,0.80001 0.80001,0.80001 l 1.32001,0 q 0.80001,0 0.80001,-0.80001 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 362.6728,642.1299 q 0,2.16003 -1.52002,3.68005 -1.52002,1.52002 -3.68005,1.52002 l -10.52013,0 q -1.20001,0 -1.20001,-1.20002 l 0,-25.44032 q 0,-1.20001 1.20001,-1.20001 l 10.52013,0 q 2.16003,0 3.68005,1.56002 1.52002,1.52002 1.52002,3.64004 l 0,5.72008 q 0,1.24001 -0.88001,2.12002 -0.88002,0.88001 -2.12003,0.88001 1.24001,0 2.12003,0.88001 0.88001,0.88002 0.88001,2.12003 l 0,5.72007 z m -7.00009,-11.80014 0,-3.04004 q 0,-0.80001 -0.80001,-0.80001 l -1.32002,0 q -0.80001,0 -0.80001,0.80001 l 0,3.04004 q 0,0.80001 0.80001,0.80001 l 1.32002,0 q 0.80001,0 0.80001,-0.80001 z m 0,9.20011 0,-3.04004 q 0,-0.80001 -0.80001,-0.80001 l -1.32002,0 q -0.80001,0 -0.80001,0.80001 l 0,3.04004 q 0,0.80001 0.80001,0.80001 l 1.32002,0 q 0.80001,0 0.80001,-0.80001 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 371.58103,646.12995 q 0,1.20002 -1.20001,1.20002 l -4.60006,0 q -1.20001,0 -1.20001,-1.20002 l 0,-25.44032 q 0,-1.20001 1.20001,-1.20001 l 4.60006,0 q 1.20001,0 1.20001,1.20001 l 0,25.44032 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 390.12752,625.28969 q 0,1.20002 -1.20002,1.20002 l -2.84003,0 q -0.80001,0 -0.80001,0.80001 l 0,18.84023 q 0,1.20002 -1.20002,1.20002 l -4.60006,0 q -1.20001,0 -1.20001,-1.20002 l 0,-18.80023 q 0,-0.80001 -0.80001,-0.80001 l -2.80004,-0.04 q -1.20001,0 -1.20001,-1.20002 l 0,-4.60006 q 0,-1.20001 1.20001,-1.20001 l 14.24018,0 q 1.20002,0 1.20002,1.20001 l 0,4.60006 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 404.96332,646.12995 q 0,1.20002 -1.20001,1.20002 l -6.56008,0 q -2.16003,0 -3.68005,-1.52002 -1.52002,-1.52002 -1.52002,-3.68005 l 0,-17.44022 q 0,-2.12002 1.52002,-3.64004 1.52002,-1.56002 3.68005,-1.56002 l 6.56008,0 q 1.20001,0 1.20001,1.20001 l 0,4.60006 q 0,1.20002 -1.20001,1.20002 l -3.96005,0 q -0.80001,0 -0.80001,0.80001 l 0,12.24015 q 0,0.80001 0.80001,0.80001 l 3.96005,0 q 1.20001,0 1.20001,1.20002 l 0,4.60005 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 423.76731,642.1299 q 0,2.16003 -1.52002,3.68005 -1.52001,1.52002 -3.68004,1.52002 l -6.52008,0 q -2.16003,0 -3.68005,-1.52002 -1.52002,-1.52002 -1.52002,-3.68005 l 0,-17.44022 q 0,-2.12002 1.52002,-3.64004 1.52002,-1.56002 3.68005,-1.56002 l 6.52008,0 q 2.16003,0 3.68004,1.56002 1.52002,1.52002 1.52002,3.64004 l 0,17.44022 z m -7.00008,-2.60003 0,-12.24015 q 0,-0.80001 -0.80001,-0.80001 l -1.32002,0 q -0.80001,0 -0.80001,0.80001 l 0,12.24015 q 0,0.80001 0.80001,0.80001 l 1.32002,0 q 0.80001,0 0.80001,-0.80001 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 432.67554,646.12995 q 0,1.20002 -1.20001,1.20002 l -4.60006,0 q -1.20001,0 -1.20001,-1.20002 l 0,-25.44032 q 0,-1.20001 1.20001,-1.20001 l 4.60006,0 q 1.20001,0 1.20001,1.20001 l 0,25.44032 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
<path
d="m 434.58181,646.12995 0,-21.44027 q 0,-2.12002 1.52002,-3.64004 1.52002,-1.56002 3.68005,-1.56002 l 6.52008,0 q 2.16003,0 3.68005,1.56002 1.52001,1.52002 1.52001,3.64004 l 0,21.44027 q 0,1.20002 -1.20001,1.20002 l -4.60006,0 q -1.20001,0 -1.20001,-1.20002 l 0,-18.84023 q 0,-0.80001 -0.80001,-0.80001 l -1.32002,0 q -0.80001,0 -0.80001,0.80001 l 0,18.84023 q 0,1.20002 -1.20001,1.20002 l -4.60006,0 q -1.20002,0 -1.20002,-1.20002 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40.00049973px;line-height:100%;font-family:Magnum;-inkscape-font-specification:'Magnum, Normal';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#272822;fill-opacity:1"
/>
</g>
</g>
</svg>
</a>
<div class="eyebrow">Full stack Bitcoin software</div>
<h1>About</h1>
<nav class="menu site">
<a href="index.html">Home</a>
<details class="drop" name="site"><summary>Getting Started</summary><div>
<a href="download/index.html">Download BS</a>
<a href="start/index.html">Quick Start</a>
<a href="building/platforms.html">Platform Coverage</a>
<a href="configuration/public.html">Community Servers</a>
<a href="building/status.html">Build Status</a>
<a href="building/index.html">Building</a>
<a href="packages/index.html">Packages</a>
</div></details>
<details class="drop" name="site"><summary>Configuration</summary><div>
<a href="configuration/index.html">Overview</a>
<a href="configuration/command-line.html">Command Line</a>
<a href="configuration/file.html">Configuration File</a>
<a href="configuration/setups.html">Common Setups</a>
<a href="configuration/ports.html">Conventional Ports</a>
<a href="configuration/store.html">Store Settings</a>
<a href="configuration/services.html">Service Settings</a>
<a href="configuration/performance.html">Performance Settings</a>
<a href="configuration/reference.html">Settings Reference</a>
<a href="configuration/bx.html">BX Settings</a>
</div></details>
<details class="drop" name="site"><summary>Performance</summary><div>
<a href="sync.html">Sync BS</a>
<a href="footprint.html">Footprint</a>
<a href="computation.html">Computation</a>
<a href="interface-performance.html">Interfaces</a>
</div></details>
<details class="drop" name="site"><summary>Architecture</summary><div>
<a href="architecture/index.html">Overview</a>
<a href="architecture/system/index.html">System</a>
<a href="architecture/database/index.html">Database</a>
<a href="architecture/network/index.html">Network</a>
<a href="architecture/node/index.html">Node</a>
<a href="architecture/server/index.html">Server</a>
<a href="architecture/explorer/index.html">Explorer</a>
<a href="architecture/build/index.html">Build</a>
<a href="architecture/test/index.html">Test</a>
</div></details>
<details class="drop" name="site"><summary>Server</summary><div>
<a href="interfaces.html">BS Interfaces</a>
<a href="interfaces/admin.html">Admin Console</a>
<a href="interfaces/native.html">Native REST</a>
<a href="interfaces/electrum.html">Electrum</a>
<a href="interfaces/sparrow.html">Sparrow</a>
<a href="interfaces/p2p.html">Bitcoin P2P</a>
<a href="interfaces/bitcoind-rpc.html">Bitcoind JSON-RPC</a>
<a href="interfaces/bitcoind-rest.html">Bitcoind REST</a>
<a href="interfaces/zeromq.html">ZMQ</a>
<a href="interfaces/btcd.html">BTCD</a>
<a href="interfaces/esplora.html">Esplora</a>
<a href="interfaces/stratum-v1.html">Stratum v1</a>
<a href="interfaces/stratum-v2.html">Stratum v2</a>
</div></details>
<details class="drop" name="site"><summary>Client</summary><div>
<a href="client/commands.html">BX Commands</a>
</div></details>
<details class="drop" name="site"><summary>Developers</summary><div>
<a href="developers/index.html">Overview</a>
<a href="lib/index.html">Libraries</a>
<a href="developers/contributing.html">Contributing</a>
<a href="developers/style.html">Style Guide</a>
<a href="developers/testing.html">Test Practices</a>
</div></details>
<a href="about.html" class="here">About</a>
<span class="search"><input type="search" placeholder="Search" aria-label="Search the site"></span>
</nav>
<p class="lede">
Current team <a href="slack/index.html">Slack mirror</a> with full history.
</p>
<p class="lede">
<strong>Libbitcoin Time 2026</strong>: the development history of the libbitcoin
repositories.
</p>
</header>
<a class="video" id="video" href="https://www.youtube.com/watch?v=Cb7hKsnd9ko" aria-label="Play Libbitcoin Time 2026">
<img src="about/cover.jpg" alt="Libbitcoin Time 2026" width="1280" height="720">
<span class="play" aria-hidden="true"></span>
</a>
<section class="history">
<h2>History</h2>
<p>
Libbitcoin was <a href="https://bitcointalk.org/index.php?topic=30646.0">announced</a>
on the Bitcoin forum in July 2011, two and a half years after the genesis block. The
plan was to "rewrite bitcoin" as a library anyone could build on, pluggable and
configurable at every level, under a lesser AGPL license drafted for the project.
</p>
<p>
In 2013 the <a href="about/libbitcoin-manifesto.pdf">libbitcoin manifesto</a> made the
case for why it mattered: a Bitcoin of many implementations has no single point of
failure, and no single party controls its standard. The same year brought obelisk, a
query server, and sx, a command line toolkit, the ancestors of Bitcoin Server (bs) and
Bitcoin Explorer (bx).
</p>
<p>
From 2014 the code was divided into the six repositories it has today, from system
primitives to the server, and versions 2 and 3 followed in 2014 and 2017. Version 4 is
the first major release since 2017, the result of a decade of R&D by a small team
of dedicated volunteers.
</p>
</section>
<section class="scope">
<h2>Scope</h2>
<div class="grid">
<table>
<thead>
<tr><th></th><th>system</th><th>database</th><th>network</th><th>node</th><th>server</th><th>explorer</th><th>build</th><th>website</th><th>Total</th><th>bitcoind</th></tr>
</thead>
<tbody>
<tr><td>First commit</td><td>2011</td><td>2014</td><td>2011</td><td>2014</td><td>2013</td><td>2013</td><td>2014</td><td>2014</td><td></td><td>2009</td></tr>
<tr><td>Contributors</td><td>63</td><td>17</td><td>38</td><td>19</td><td>23</td><td>37</td><td>10</td><td>11</td><td>98</td><td>821</td></tr>
<tr><td>Commits</td><td>10,395</td><td>4,789</td><td>4,152</td><td>4,317</td><td>3,464</td><td>2,745</td><td>1,693</td><td>290</td><td>31,845</td><td>31,480</td></tr>
<tr><td>Library lines</td><td>109,317</td><td>35,329</td><td>50,290</td><td>14,451</td><td>32,318</td><td>34,131</td><td></td><td></td><td>275,836</td><td>154,044</td></tr>
<tr><td>Test lines</td><td>121,795</td><td>28,621</td><td>44,758</td><td>9,642</td><td>25,020</td><td>7,743</td><td></td><td></td><td>237,579</td><td>89,539</td></tr>
<tr><td>Words</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td>654,760</td><td>654,760</td><td>286,710</td></tr>
<tr><td>Runtime tests</td><td>7,911</td><td>1,341</td><td>2,815</td><td>528</td><td>1,935</td><td>679</td><td></td><td></td><td>15,209</td><td>903</td></tr>
<tr><td>Compile-time tests</td><td>7,552</td><td>111</td><td>279</td><td>6</td><td>54</td><td>0</td><td></td><td></td><td>8,002</td><td>41</td></tr>
<tr><td>Python tests</td><td></td><td></td><td></td><td></td><td>222</td><td></td><td></td><td></td><td>222</td><td>212</td></tr>
<tr><td>Classes</td><td>394</td><td>308</td><td>246</td><td>86</td><td>84</td><td>370</td><td></td><td></td><td>1,488</td><td>648</td></tr>
<tr><td>Public methods</td><td>2,795</td><td>1,480</td><td>1,427</td><td>225</td><td>145</td><td>2,018</td><td></td><td></td><td>8,090</td><td>3,635</td></tr>
<tr><td>Protected methods</td><td>971</td><td>139</td><td>377</td><td>292</td><td>573</td><td>2</td><td></td><td></td><td>2,354</td><td>101</td></tr>
<tr><td>Private methods</td><td>339</td><td>86</td><td>420</td><td>114</td><td>151</td><td>0</td><td></td><td></td><td>1,110</td><td>345</td></tr>
<tr><td>Public functions</td><td>1,032</td><td>69</td><td>143</td><td>4</td><td>76</td><td>17</td><td></td><td></td><td>1,341</td><td>1,105</td></tr>
</tbody>
</table>
</div>
<p>bitcoind is included for context.</p>
<details class="method">
<summary>How these are counted</summary>
<p class="dim">
The six libraries and libbitcoin-build at their current master (November 2026). Each
commit is counted once, in the repository it first appears in: network shares 3,246
commits of early history with system. Contributors are distinct people, across names and
email addresses. The website column is this site and its public discussion forum, and its
words are their text.
History of the archived repositories (blockchain, protocol, client and consensus) is
included only where it was carried into a current repository.
</p>
<p class="dim">
bitcoind is Bitcoin Core at its master (October 2026) with its secp256k1, without its
wallet application, its GUI, its other executables or its other embedded dependencies
(leveldb, crc32c, minisketch, univalue, ctaes and libmultiprocess). Wallet functionality
that bitcoind itself uses, such as addresses, keys, descriptors and PSBT, is included, as
is libbitcoin's. Its contributors and commits are those that touch its code or its
functional tests, and those of secp256k1 (to August 2026). Its secp256k1 lines exclude
18,235 lines of precomputed tables, and its functions and structs are those of the
secp256k1 public headers. Its Python tests are the functional tests, excluding those of
the wallet application, and its words are those of the bitcoincore.org website, meeting
notes included.
</p>
<p class="dim">
Lines are non-blank lines of C++ in the library (<code>include</code> and
<code>src</code>) and in its tests (<code>test</code>). Library lines exclude 60,969 lines
of data tables in system (word lists, Unicode tables and the embedded GPU kernels). The
server's embedded web interface, which can be compiled out, is excluded, as is bitcoind's
GUI. Runtime
tests are C++ test cases, compile-time tests are
<code>static_assert</code> statements in the tests, and Python tests are the server's
endpoint tests (3,894 lines of Python, not in the test lines). Classes, methods and public functions are counted from the compiler's
view of the public headers: class and struct definitions, their member functions by
access, and free functions.
</p>
</details>
</section>
<p class="foot">
<span>Copyright © 2011-2026 libbitcoin developers</span>
</p>
</div>
<script>
(function () {
var box = document.getElementById('video');
box.addEventListener('click', function (e) {
e.preventDefault();
var frame = document.createElement('iframe');
frame.src = 'https://www.youtube-nocookie.com/embed/Cb7hKsnd9ko?autoplay=1&rel=0';
frame.title = 'Libbitcoin Time 2026';
frame.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share';
frame.allowFullscreen = true;
frame.referrerPolicy = 'strict-origin-when-cross-origin';
var player = document.createElement('div');
player.className = 'video';
player.appendChild(frame);
box.replaceWith(player);
});
})();
</script>
<script>
document.addEventListener('click', function (e) {
document.querySelectorAll('nav.site details[open]').forEach(function (d) {
if (!d.contains(e.target)) d.removeAttribute('open');
});
});
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape') document.querySelectorAll('nav.site details[open]').forEach(function (d) { d.removeAttribute('open'); });
});
</script>
</body>
</html>