Packages

case class NodeAppConfig(baseDatadir: Path, configOverrides: Vector[Config])(implicit system: ActorSystem) extends DbAppConfig with NodeDbManagement with JdbcProfileComponent[NodeAppConfig] with CallbackConfig[NodeCallbacks] with Product with Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NodeAppConfig
  2. Serializable
  3. Product
  4. Equals
  5. CallbackConfig
  6. JdbcProfileComponent
  7. NodeDbManagement
  8. DbManagement
  9. DbAppConfig
  10. AppConfig
  11. BitcoinSLogger
  12. StartStopAsync
  13. StartStop
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new NodeAppConfig(baseDatadir: Path, configOverrides: Vector[Config])(implicit system: ActorSystem)

Type Members

  1. type ConfigType = NodeAppConfig

    Sub members of AppConfig should override this type with the type of themselves, ensuring withOverrides return the correct type

    Sub members of AppConfig should override this type with the type of themselves, ensuring withOverrides return the correct type

    Attributes
    protected[bitcoins]
    Definition Classes
    NodeAppConfigAppConfig

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addCallbacks(newCallbacks: NodeCallbacks): NodeCallbacks
    Definition Classes
    CallbackConfig
  5. lazy val allTables: List[slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[slick.jdbc.JdbcProfile.JdbcAPI.Table[_]]]
    Definition Classes
    NodeDbManagementDbManagement
  6. def appConfig: NodeAppConfig
    Definition Classes
    NodeAppConfigJdbcProfileComponent
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. val baseDatadir: Path

    The base data directory.

    The base data directory. This is where we look for a configuration file

    Definition Classes
    NodeAppConfigAppConfig
  9. def callBacks: NodeCallbacks
    Definition Classes
    CallbackConfig
  10. lazy val callbackFactory: NodeCallbacks.type
    Definition Classes
    NodeAppConfigCallbackConfig
  11. lazy val chain: BitcoinChainParams

    Chain parameters for the blockchain we're on

    Chain parameters for the blockchain we're on

    Definition Classes
    AppConfig
  12. def clean(): CleanResult

    Runs flyway clean

    Runs flyway clean

    WARNING: THIS DELETES ALL DATA IN THE DATABASE, YOU PROBABLY DON'T WANT THIS UNLESS YOU ARE USING TESTS

    Definition Classes
    DbManagement
    See also

    https://flywaydb.org/documentation/command/clean

  13. def clearCallbacks(): Unit

    Clears all callbacks

    Clears all callbacks

    Definition Classes
    CallbackConfig
  14. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  15. lazy val config: Config
    Attributes
    protected
    Definition Classes
    AppConfig
  16. def configFileName: String
    Definition Classes
    AppConfig
  17. val configOverrides: Vector[Config]

    List of user-provided configs that should override defaults

    List of user-provided configs that should override defaults

    Definition Classes
    NodeAppConfigAppConfig
  18. lazy val connectionAttemptCooldownPeriod: FiniteDuration
  19. def createNode(peers: Vector[Peer], walletCreationTimeOpt: Option[Instant])(chainConf: ChainAppConfig, system: ActorSystem): Future[Node]

    Creates either a neutrino node or a spv node based on the NodeAppConfig given

  20. def createTable(table: slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[_ <: slick.jdbc.JdbcProfile.JdbcAPI.Table[_]], createIfNotExists: Boolean = true)(implicit ec: ExecutionContext): Future[Unit]

    Creates the given table

    Creates the given table

    Definition Classes
    DbManagement
  21. lazy val database: JdbcDatabaseDef

    The database we are connecting to

    The database we are connecting to

    Definition Classes
    JdbcProfileComponent
  22. lazy val datadir: Path

    The network specific data directory.

    The network specific data directory.

    Definition Classes
    AppConfig
  23. def dbConfig: DatabaseConfig[JdbcProfile]

    The configuration details for connecting/using the database for our projects that require database connections

    The configuration details for connecting/using the database for our projects that require database connections

    Definition Classes
    JdbcProfileComponent
  24. lazy val dbHost: String

    The host of our postgresql database

    The host of our postgresql database

    Definition Classes
    DbAppConfig
  25. lazy val dbName: String

    The name of our database

    The name of our database

    Definition Classes
    DbAppConfig
  26. lazy val dbPassword: String
    Definition Classes
    DbAppConfig
  27. lazy val dbPath: Path

    The path where our DB is located

    The path where our DB is located

    Definition Classes
    DbAppConfig
  28. lazy val dbPort: Int

    The port number of our postgresql database

    The port number of our postgresql database

    Definition Classes
    DbAppConfig
  29. lazy val dbUsername: String
    Definition Classes
    DbAppConfig
  30. lazy val driver: DatabaseDriver
    Definition Classes
    DbAppConfig
  31. def dropTable(table: slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[slick.jdbc.JdbcProfile.JdbcAPI.Table[_]]): Future[Unit]
    Definition Classes
    DbManagement
  32. implicit def ec: ExecutionContext
    Definition Classes
    NodeAppConfigNodeDbManagementDbAppConfig
  33. lazy val enablePeerDiscovery: Boolean
  34. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  35. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  36. def flyway: Flyway
    Attributes
    protected
    Definition Classes
    DbManagement
  37. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  38. def getConfigString(path: String): String
    Definition Classes
    AppConfig
  39. def getConfigStringOpt(path: String): Option[String]
    Definition Classes
    AppConfig
  40. lazy val healthCheckInterval: FiniteDuration
  41. lazy val hikariLoggingInterval: Option[Duration]

    Gets how often we should log hikari connection pool stats if None, this means isHikariLoggingEnabled is not enabled

    Gets how often we should log hikari connection pool stats if None, this means isHikariLoggingEnabled is not enabled

    Definition Classes
    DbAppConfig
  42. def info(): MigrationInfoService

    Returns flyway information about the state of migrations

    Returns flyway information about the state of migrations

    Definition Classes
    DbManagement
    See also

    https://flywaydb.org/documentation/command/info

  43. def isCallbackEmpty: Boolean
    Definition Classes
    CallbackConfig
  44. lazy val isHikariLoggingEnabled: Boolean
    Definition Classes
    DbAppConfig
  45. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  46. lazy val jdbcUrl: String
    Definition Classes
    DbAppConfig
  47. def logger: Logger
    Definition Classes
    BitcoinSLogger
  48. lazy val maxConnectedPeers: Int
  49. lazy val maxInvalidResponsesAllowed: Int

    maximum consecutive number of invalid responses allowed from the same peer

  50. def migrate(): MigrateResult

    Executes migrations related to this database

    Executes migrations related to this database

    Definition Classes
    DbManagement
    See also

    https://flywaydb.org/documentation/api/#programmatic-configuration-java

  51. def migrationsApplied(): Int
    Definition Classes
    DbManagement
  52. def moduleName: String

    Name of the module.

    Name of the module. chain, wallet, node etc.

    Attributes
    protected[bitcoins]
    Definition Classes
    NodeAppConfigAppConfig
  53. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  54. lazy val network: BitcoinNetwork

    The blockchain network we're on

    The blockchain network we're on

    Definition Classes
    AppConfig
  55. def newConfigOfType(configs: Vector[Config]): NodeAppConfig

    Constructor to make a new instance of this config type

    Constructor to make a new instance of this config type

    Attributes
    protected[bitcoins]
    Definition Classes
    NodeAppConfigAppConfig
  56. lazy val nodeType: NodeType
  57. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  58. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  59. lazy val numThreads: Int
    Definition Classes
    JdbcProfileComponent
  60. lazy val peerTimeout: FiniteDuration
  61. lazy val peers: Vector[Peer]

    List of peers hardcoded in our configuration files

  62. def productElementNames: Iterator[String]
    Definition Classes
    Product
  63. final lazy val profile: JdbcProfile
    Definition Classes
    JdbcProfileComponent
  64. lazy val queryWaitTime: FiniteDuration

    timeout to wait for response the messages extend org.bitcoins.core.p2p.ExpectsResponse

  65. lazy val relay: Boolean
  66. def replaceCallbacks(newCallbacks: NodeCallbacks): NodeCallbacks
    Definition Classes
    CallbackConfig
  67. lazy val schemaName: Option[String]
    Definition Classes
    DbAppConfig
  68. def slickDbConfig: DatabaseConfig[JdbcProfile]
    Definition Classes
    DbAppConfig
  69. lazy val socks5ProxyParams: Option[Socks5ProxyParams]
  70. def start(): Future[Unit]

    Ensures correct tables and other required information is in place for our node.

    Ensures correct tables and other required information is in place for our node.

    Definition Classes
    NodeAppConfigDbAppConfigAppConfigStartStop
  71. def startHikariLogger(interval: Duration): HikariLogging

    Starts the background logger for hikari

    Starts the background logger for hikari

    interval

    \- how often hikari logs database connection pool information

    Attributes
    protected
    Definition Classes
    JdbcProfileComponent
  72. def stop(): Future[Unit]

    Releases the thread pool associated with this AppConfig's DB

    Releases the thread pool associated with this AppConfig's DB

    Definition Classes
    NodeAppConfigDbAppConfigStartStop
  73. def stopHikariLogger(): Unit
    Attributes
    protected
    Definition Classes
    JdbcProfileComponent
  74. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  75. implicit val system: ActorSystem
  76. implicit def tableQueryToWithSchema(tableQuery: slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[_]): slick.jdbc.JdbcProfile.JdbcAPI.TableQuery[slick.jdbc.JdbcProfile.JdbcAPI.Table[_]]

    Internally, slick defines the schema member as

    Internally, slick defines the schema member as

    def schema: SchemaDescription = buildTableSchemaDescription(q.shaped.value.asInstanceOf[Table[_]])

    we need to cast between TableQuery's of specific table types to the more generic TableQuery[Table[_]] to get methods in this trait working as they require schema (which essentially does this cast anyway)

    This cast is needed because TableQuery is not covariant in its type parameter. However, since Query is covariant in its first type parameter, I believe the cast from TableQuery[T1] to TableQuery[T2] will always be safe so long as T1 is a subtype of T2 AND T1#TableElementType is equal to T2#TableElementType.

    The above conditions are always the case when this is called in the current code base and will stay that way so long as no one tries anything too fancy.

    Attributes
    protected
    Definition Classes
    DbManagement
  77. lazy val torConf: TorAppConfig
  78. lazy val torParams: Option[TorParams]
  79. lazy val tryNextPeersInterval: FiniteDuration

    time interval for trying next set of peers in peer discovery

  80. lazy val tryPeersStartDelay: FiniteDuration
  81. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  82. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  83. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  84. def withOverrides(configOverrides: Vector[Config]): ConfigType

    This method returns a new AppConfig, where every key under bitcoin-s overrides the configuration picked up by other means (the reference.conf provided by bitcoin-s and the application.conf provided by the user).

    This method returns a new AppConfig, where every key under bitcoin-s overrides the configuration picked up by other means (the reference.conf provided by bitcoin-s and the application.conf provided by the user). If you pass in configs with overlapping keys (e.g. several configs with the key bitcoin-s.network), the latter config overrides the first.

    Definition Classes
    AppConfig
  85. def withOverrides(configOverrides: Config): ConfigType
    Definition Classes
    AppConfig

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from NodeDbManagement

Inherited from DbManagement

Inherited from DbAppConfig

Inherited from AppConfig

Inherited from BitcoinSLogger

Inherited from StartStopAsync[Unit]

Inherited from StartStop[Future[Unit]]

Inherited from AnyRef

Inherited from Any

Ungrouped