/**
* Copyright (c) 2017-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const React = require("react");
const CompLibrary = require("../../core/CompLibrary.js");
const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */
const Container = CompLibrary.Container;
const GridBlock = CompLibrary.GridBlock;
const Logo = props => (
);
const TryOut = () => (
{[
{
content: [
"Use our RPC clients for `bitcoind`/Bitcoin Core and Eclair, and get powerful",
"static typing baked into your RPC calls. All returned values you get from `bitcoind`",
"and Eclair are converted into native Bitcoin/Lightning data structures for you.",
"Is that raw hex string you've been passing around a transaction or a Lightning invoice?",
"With Bitcoin-S you get both confidence in your code _and_ powerful methods available",
"on your data"
].join(" "),
image: `${baseUrl}img/undraw_target_kriv.svg`,
imageAlign: "left",
title: "Super-powered RPC clients"
}
]}
);
const Description = () => (
{[
{
content: [
"Bitcoin-S is used in production today, facilitating transactions and systems handling",
"millions of dollars each day. It has a very high degree of code coverage,",
"with unit tests, property based tests and integration tests."
].join(" "),
image: `${baseUrl}img/undraw_Security_on_s9ym.svg`,
imageAlign: "right",
title: "Battle tested, high quality code"
}
]}
);
const LearnHow = () => (
{[
{
content: [
"We provide solid APIs for constructing and signing transactions.",
"From small-scale 1-in 2-out transactions, to custom logic powering exchange withdrawals, we've got you covered.",
"Check out our [`TxBuilder` example](docs/core/txbuilder) to see how."
].join(" "),
image: `${baseUrl}img/undraw_transfer_money_rywa.svg`,
imageAlign: "right",
title: "Construct and sign bitcoin transactions"
}
]}
);
const Features = () => (
{[
{
content: [
"Bitcoin-S allows you to interact with data structures found in the",
"Bitcoin and Lightning protocols as first-class citizens of your app.",
"Go back and forth between hex, byte and JVM representation trivially,",
"letting our abstractions focus on what you want to build"
].join(" "),
image: `${baseUrl}img/undraw_digital_currency_qpak.svg`,
imageAlign: "top",
title: "Deep protocol understanding"
},
{
content: [
"Code with confidence, knowing your data won't change under you. All",
"data structures in Bitcoin-S are immutable. This eliminates a big",
"range of bugs right away, and enable you to write concurrent code",
"much easier"
].join(" "),
image: `${baseUrl}img/undraw_code_review_l1q9.svg`,
imageAlign: "top",
title: "Immutable data structures"
},
{
content: [
"Get the compiler to work for you, ensuring your logic covers all cases.",
"Modelling your application with mathematically founded types enables greater confidence in the correctness of your code"
].join(" "),
image: `${baseUrl}img/undraw_mathematics_4otb.svg`,
imageAlign: "top",
title: "Algebraic data types"
}
]}
);
const Showcase = () => {
if ((siteConfig.users || []).length === 0) {
return null;
}
const showcase = siteConfig.users
.filter(user => user.pinned)
.map(user => (
));
const pageUrl = page => baseUrl + (language ? `${language}/` : "") + page;
return (
Who is using Bitcoin-S?
Bitcoin-S is used in production applications, by both small and
large companies