
Security News
RubyGems Adds Cooldown Feature to Bundler for Newly Published Gems
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.
@goldcoinreserve/gcr-node
Advanced tools
GCR tool that allows you creating, configuring and running GCR's network
Tool that allows you creating, configuring and running gcr's complete networks or nodes to be sync with existing networks.
Yaml files that define the configuration and layout of the network and nodes. It defines how many nodes, database, rest gateways, the modes, keys, etc.
Presets are defined at 4 levels from general to specific:
mainnet or testnet.testnet peer, tesnet dual, testnet api. Assembly is required for some networks (like testnet).--customPreset param) that could override some or all properties in the out-of-the-box presets.Properties in each file override the previous values (by object deep merge).
It's the way you can tune the network without modifying the code. It's a yml file (--customPreset param) that could override some or all properties in the out-of-the-box presets.
Custom presets give gcr Bootstrap its versatility. Check out the custom preset guides!
The folder where the generated config, docker files and data are stored. The folder structure is:
./preset.yml: the final generated preset.yml that it's used to configure bootstrap, the nodes, docker, etc../addresses.yml: randomly generated data that wasn't provided in the preset. e.g.: SSL keys, nodes' keys, nemesis accounts, generation hash seed, etc../nodes: it holds the configuration, data and logs for all the defined node instances../gateways: it holds the configuration and logs for all the defined node rest gateways../nemesis: The folder used to hold the nemesis block. Block 1 data is generated via nemgen tool for new networks. For existing network, it is copied over../databases: the location where the mongo data is stored for the different database instances../docker: the generated docker-compose.yml, mongo init scripts and server basic bash scripts../reports: the location of the generated reports.adduser powerusername
usermod -aG sudo powerusername
su powerusername
cd
You may need NVM to manage node version
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
To use NVM, you may need to logout and login to your session Install Node 14:
nvm install 14
nvm use 14
Get the latest version of docker and docker compose:
sudo curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo groupadd docker
sudo usermod -aG docker $USER
Validate your environment by running:
node -v
docker -v
docker-compose -v
Check your user can run docker without sudo:
docker run hello-world
If you see an error like:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
Try to logout and login, or please follow this guide.
Get gcr-node:
npm install -g @goldcoinreserve/gcr-node
It's recommended to run the commands from en empty working dir.
The network configuration, data and docker files will be created inside the target folder ('./target') by default.
mkdir node
cd node
Create node custom name:
cd ~/node`
NOTE: friendlyName will be displayed in GCR explorer node list
echo "nodes:
-
friendlyName: 'REPLACE_NODE_NAME_HERE'
" > name.yml
IMPORTANT: Before this step, please open 7900 and 3000 for communication with network
To deploy GCR node you need to execute these commmand:
gcr-node start -p testnet -a dual --customPreset name.yml -d
OR
gcr-node comfig -p testnet -a dual --customPreset name.yml
gcr-node compose
gcr-node run -d
Please wait until you node will be fully synched with GCR network. After few minutes check node health:
curl http://localhost:3000/node/health
If you need to start fresh node, you many need to sudo remove the target folder (docker volumes dirs may be created using sudo). Example:
sudo rm -rf ./target
gcr-node creates peer nodes with remote harvesting enabled by default, but they still need to be registered by announcing the AccountKeyLink and VrfKeyLink transactions to the network.
This can be done by gcr-node too, but it needs to be a step separated from gcr-node start because funds are required to announce transactions.
If you want to export private keys first you have to decrypt by using following command:
gcr-node decrypt --source target/addresses.yml --destination plain-addresses.yml
The decrypted file with your private keys will be located at node/plain-addresses.yml
gcr-node link
In case the node can't find any node to transmit transaction, you may set an external URL:
gcr-node link --url=http://mainnet-dual-1.gcr.superhow.net:3000
gcr-node autocomplete - display autocomplete installation instructionsgcr-node clean - It removes the target folder deleting the generated configuration and datagcr-node compose - It generates the docker-compose.yml file from the configured network.gcr-node config - Command used to set up the configuration files and the nemesis block for the current networkgcr-node decrypt - It decrypts a yml file using the provided password. The source file can be a custom preset file, a preset.yml file or an addresses.yml.gcr-node encrypt - It encrypts a yml file using the provided password. The source files would be a custom preset file, a preset.yml file or an addresses.yml.gcr-node healthCheck - It checks if the services created with docker compose are up and running.gcr-node help - display help for gcr-nodegcr-node link - It announces VRF and Voting Link transactions to the network for each node with 'Peer' or 'Voting' roles. This command finalizes the node registration to an existing network.gcr-node modifyMultisig - Create or modify a multisig accountgcr-node pack - It configures and packages your node into a zip file that can be uploaded to the final node machine.gcr-node report - it generates reStructuredText (.rst) reports describing the configuration of each node.gcr-node resetData - It removes the data keeping the generated configuration, certificates, keys and block 1.gcr-node run - It boots the network via docker using the generated docker-compose.yml file and configuration. The config and compose methods/commands need to be called before this method. This is just a wrapper for the docker-compose up bash call.gcr-node start - Single command that aggregates config, compose and run in one line!gcr-node stop - It stops the docker-compose network if running (gcr-node started with --detached). This is just a wrapper for the docker-compose down bash call.gcr-node updateVotingKeys - It updates the voting files containing the voting keys when required.gcr-node verify - It tests the installed software in the current computer reporting if there is any missing dependency, invalid version, or software related issue.gcr-node wizard - An utility command that will help you configuring node!FAQs
GCR tool that allows you creating, configuring and running GCR's network
We found that @goldcoinreserve/gcr-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
RubyGems and Bundler 4.0.13 introduced an opt-in cooldown feature that delays newly published gems during dependency resolution.

Security News
pnpm 11.5 now recognizes npm staged publish approvals in release metadata, preventing those releases from being mistaken for lower-trust package publishes.

Security News
Federal audit finds NIST lacked a plan to clear the NVD backlog, wasted funds on duplicate work, and delayed use of CISA data.