This updates the docker image to golang:1.22.1-alpine3.19. To confirm the new digest: ``` $ docker pull golang:1.22.1-alpine3.19 1.22.1-alpine3.19: Pulling from library/golang ... Digest: sha256:fc5e5848529786cf1136563452b33d713d5c60b2c787f6b2a077fa6eeefd9114 ... ``` |
||
|---|---|---|
| .. | ||
| docker | ||
| services | ||
| dcr_setup_go_workspace.sh | ||
| dcr_tmux_simnet_setup.sh | ||
| README.md | ||
contrib
Overview
This consists of extra optional tools which may be useful when working with dcrd and related software.
Contents
Example Service Configurations
-
OpenBSD rc.d
Provides an examplerc.dscript for configuring dcrd as a background service on OpenBSD. It also serves as a good starting point for other operating systems that use the rc.d system for service management. -
Service Management Facility
Provides an example XML file for configuring dcrd as a background service on illumos. It also serves as a good starting point for other operating systems that use use SMF for service management. -
systemd
Provides an example service file for configuring dcrd as a background service on operating systems that use systemd for service management.
Simulation Network (--simnet) Preconfigured Environment Setup Script
The dcr_tmux_simnet_setup.sh script provides a
preconfigured simnet environment which facilitates testing with a private test
network where the developer has full control since the difficulty levels are low
enough to generate blocks on demand and the developer owns all of the tickets
and votes on the private network.
The environment will be housed in the $HOME/dcrdsimnetnodes directory by
default. This can be overridden with the DCR_SIMNET_ROOT environment variable
if desired.
See the full Simulation Network Reference for more details.
Building and Running OCI Containers (aka Docker/Podman)
The project does not officially provide container images. However, all of the
necessary files to build your own lightweight non-root container image based on
scratch from the latest source code are available in the docker directory.
See docker/README.md for more details.
Go Multi-Module Workspace Setup Script
The dcr_setup_go_workspace.sh script initializes
a Go multi-module workspace (via go work init) and adds all of the modules
provided by the dcrd repository to it (via go work use) on an as needed basis.
Note that workspaces require Go 1.18+.
This is useful when developing across multiple modules in the repository and
allows development environments that make use of the Go language server (aka
gopls), such as VSCode, to provide full support without also needing to
temporarily create replacements in the various go.mod files or individually
add every module.
Do note, however, that workspaces are local, so final submissions to the
repository will still require the appropriate changes to the relevant go.mod
files to ensure resolution outside of the workspace.