Crypto Cold Store is an open-source solution for cryptocurrency cold storage. Its job is simple:
- generate new addresses for every unique
code
passed to it - publish in
/deposits
channel of new deposits or updates to them (up to a certain amount of confirmations depending on the coin)
See spec/requests/deposit_details_spec.rb
.
MessageBus is used to publish notifications. See that repository for instructions on how to connect.
Writing and re-running functional tests are more difficult, especially when having to deal with blockchains that are slow to load. When re-recording VCR cassettes, the test suite assumes that the blockchain nodes are accessible from this instance. Furthermore:
Customization is done through setting environment variables. For coin-specific variables, see the Coins Supported section. Here you will find generic variables:
DB_POOL
is the maximum number of db connections (per Rails process) will be openedSECRET_KEY_BASE
(Rails setting)DATABASE_URL
is the connection string to PostgreSQLSIDEKIQ_USERNAME
&SIDEKIQ_PASSWORD
: these protect the Sidekiq dashboard at/sidekiq
. If not set, the dashboard will not be mounted.SIDEKIQ_CONCURRENCY
controls how many Sidekiq workers are created per Sidekiq/Rails processRAILS_LOG_TO_STDOUT
can be any non-nil value to print out the logs toSTDOUT
- MessageBus:
MESSAGE_BUS_PG_CONNECTION_STRING
is the connection string in this format:dbname=db-name user=db-user password=db-pass host=db-host
- there are more variables you can find in
config/initializers/message_bus.rb
- There are variables specific to puma, the web server. Those can be found in
config/puma.rb