Somewhat dirty standalone server and CLI binary (#558)
* PoC bitcoin-s-cli
* Add CLI, Server sbt projects, remove Ammonite
In this commit we set up sbt configuration for
CLI, Server (in-work-name) and corresponding
test projects.
We also remove Ammonite shell from sbt, as that
isn't really being used. bloop console offers
the same functionality way more ergonimic.
* Move BitcoinSAppConfig into new server project
Server project depends on node, chain wand wallet
so this is a good time for introducing this class
into main sources. We also introduce
BitcoinSTestAppConfig in testkit, to replace the
functionality in BitcoinSAppConfig related to
tests.
* Type chain in blockchainresult
* MVP server setup for node, chain and wallet
* Extremely dirty CLI for interacting with server
* initial attempt at mimicking Bitcoin Core API
* WalletStorage: add method for checking for seed existance
* Check for seed existance on wallet startup
* Fix bug where MnemonicNotFound was not an error
* Segregate confirmed and unconfirmed balance methods
* Add error handling, improve formatting of CLI output
* Tweak build
Bump Sttp version, downgrade to uPickle 2.11 compat,
skip publish in cli-test and server-test
* Add CLI, server and picklers to root project
2019-07-10 13:33:17 +02:00
|
|
|
name := "bitcoin-s-server"
|
|
|
|
|
|
|
|
// Ensure actor system is shut down
|
|
|
|
// when server is quit
|
|
|
|
Compile / fork := true
|
|
|
|
|
2019-08-23 20:53:00 +02:00
|
|
|
libraryDependencies ++= Deps.server(scalaVersion.value)
|
2019-12-04 07:25:03 -06:00
|
|
|
|
|
|
|
mainClass := Some("org.bitcoins.server.Main")
|
|
|
|
|
|
|
|
graalVMNativeImageOptions ++= Seq(
|
|
|
|
"-H:EnableURLProtocols=http",
|
|
|
|
"-H:+ReportExceptionStackTraces",
|
|
|
|
// builds a stand-alone image or reports a failure
|
|
|
|
"--no-fallback",
|
|
|
|
// without this, we get complaints about Function3
|
|
|
|
// I'm not sure why, though...
|
|
|
|
"--initialize-at-build-time=scala.Function3",
|
|
|
|
"--report-unsupported-elements-at-runtime",
|
|
|
|
"--verbose"
|
|
|
|
)
|
|
|
|
|
2020-09-23 17:02:40 -05:00
|
|
|
packageSummary := "A Bitcoin neutrino node and wallet"
|
|
|
|
|
|
|
|
packageDescription := "Runs a Bitcoin neutrino node and wallet, has functionality " +
|
|
|
|
"for many different modes and configuration options, see more at https://bitcoin-s.org/docs/applications/server"
|
|
|
|
|
|
|
|
enablePlugins(JavaAppPackaging, GraalVMNativeImagePlugin)
|