class ServerGrpc extends StartStopAsync[Unit] with BitcoinSLogger
A gRPC server that exposes the CommonRoutes endpoints.
- Alphabetic
- By Inheritance
- ServerGrpc
- BitcoinSLogger
- StartStopAsync
- StartStop
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ServerGrpc(datadir: Path, rpchost: String, port: Int, rpcPassword: String, chainApi: ChainApi, network: BitcoinNetwork, startedTorConfigF: Future[Unit], nodeApiF: Future[NodeApi], dlcNodeF: Future[DLCNodeApi])(implicit system: ActorSystem)
- datadir
the Bitcoin-S data directory
- rpchost
the host to bind the server on
- port
the port to bind the server on (use 0 for a random available port)
- rpcPassword
the password required for HTTP Basic authentication on gRPC requests
- chainApi
the chain API used by chain gRPC routes
- network
the active Bitcoin network for server responses
- startedTorConfigF
a future that completes when Tor startup/configuration is finished
- nodeApiF
a future that yields the node API used by node gRPC routes. The reason this is a Future is because if bitcoin-s is used with Tor, starting up the nodeApi can take a while. For now we will block the gRPC server from starting until the nodeApi is ready, but in the future we may want to allow the gRPC server to start up and return an error if a request is made before the nodeApi is ready.
- dlcNodeF
a future that yields the DLC node API used by dlc gRPC routes.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logger: Logger
- Definition Classes
- BitcoinSLogger
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def start(): Future[Unit]
Starts the gRPC server and returns the server binding.
Starts the gRPC server and returns the server binding.
The returned Future completes once the server is bound and ready to accept connections. The caller is responsible for managing the server lifecycle by calling Http.ServerBinding.unbind when the server is no longer needed.
Example usage:
val server = new GrpcServer(datadir, "localhost", 8980) val bindingF = server.start() // ... handle requests ... bindingF.flatMap(_.unbind())
- Definition Classes
- ServerGrpc → StartStop
- def stop(): Future[Unit]
- Definition Classes
- ServerGrpc → StartStop
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()