Building Blockchain Foundations

🔸About🔸

Pyramidic specializes in blockchain node validation and security, focusing on delivering reliable services that support the foundation of decentralized networks.

🔸Connect🔸

🔸Twitter🔸Medium🔸Linktr🔸[email protected]🔸

🔸Core Projects🔸

0G Labs

We are participates in the 0G project, where we focus on providing secure and stable node deployment and maintenance. Our role involves ensuring that nodes are correctly set up and continuously monitored to maintain optimal performance. By implementing rigorous security measures, we help safeguard the network against potential threats and vulnerabilities, contributing to the project's overall stability and resilience

timedatectl set-timezone UTC

# Verify timezone
timedatectl

# Install 0gchaind
sudo apt update && sudo apt upgrade -y
sudo apt install -y git build-essential
git clone -b v0.2.3 <https://github.com/0glabs/0g-chain.git>
cd 0g-chain/networks/testnet
./install.sh
source ~/.profile

# Set Chain ID
0gchaind config chain-id zgtendermint_16600-2

# Initialize Node
0gchaind init PyramidicValidator --chain-id zgtendermint_16600-2

# Copy Genesis File
sudo apt install -y unzip wget
rm ~/.0gchain/config/genesis.json
wget -P ~/.0gchain/config <https://github.com/0glabs/0g-chain/releases/download/v0.2.3/genesis.json>
0gchaind validate-genesis

# Add Seed Nodes
cat <<EOF >> $HOME/.0gchain/config/config.toml
seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"
EOF

# Start Node
0gchaind start

# Optimize Garbage Collection
export GOGC=900
export GOMEMLIMIT=40GB
0gchaind start

# Create Validator
0gchaind keys add PyramidicKey --eth
0gchaind keys unsafe-export-eth-key PyramidicKey

# Acquire testnet tokens for your validator

0gchaind tx staking create-validator \\
  --amount=1000000ua0gi \\
  --pubkey=$(0gchaind tendermint show-validator) \\
  --moniker="PyramidicValidator" \\
  --chain-id=zgtendermint_16600-2 \\
  --commission-rate="0.10" \\
  --commission-max-rate="0.20" \\
  --commission-max-change-rate="0.01" \\
  --min-self-delegation="1" \\
  --from=PyramidicKey \\
  --gas=auto \\
  --gas-adjustment=1.4

# Check if the validator is in the set
0gchaind q staking validators -o json --limit=1000 | jq '.validators[] | select(.status=="BOND_STATUS_BONDED")' | jq -r '.tokens + " - " + .description.moniker' | sort -gr | nl

#  Unjail Validator (if necessary)
0gchaind tx slashing unjail --from PyramidicKey --gas=500000 --gas-prices=99999neuron -y

# Upgrade Node (if needed)
# Reset data if upgrading to a breaking version
rm $HOME/.0gchain/config/addrbook.json $HOME/.0gchain/config/genesis.json
0gchaind tendermint unsafe-reset-all --home $HOME/.0gchain

# Restart the node
0gchaind start

# Migrate Node (if necessary)
# Recover wallet account on the new server
0gchaind keys add PyramidicAccount --eth --recover

# Transfer the following files to the new server:
# $HOME/xx.address
# $HOME/xx.info
# $HOME/keyhash
# $HOME/config/priv_validator_key.json

# Ensure the node is synced to the latest block height before migration

Bool Network

In the Bool project, we are handles node validation and security audits. We conduct comprehensive assessments to identify and mitigate potential risks, ensuring the network's integrity. Our team also works on optimizing node performance, enabling Bool to operate efficiently and securely. Through our proactive approach to security and maintenance, we aim to support Bool's goals of creating a reliable and scalable decentralized network.


sudo curl -fsSL <https://get.docker.com> | bash -s docker
sudo systemctl enable docker
sudo systemctl start docker

sudo systemctl status docker
sudo chmod 666 /var/run/docker.sock
docker version

sudo curl -L "<https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

mkdir -p pyramidic-node/node-data

cd pyramidic-node

chmod 777 node-data

cat > docker-compose.yaml <<EOF
version: "3"
services:
  bnk-node1:
    image: boolnetwork/bnk-node:alpha-testnet
    restart: always
    environment:
      RUST_LOG: info
    volumes:
      - "./node-data:/data"
    command: |
      --validator
      --enable-offchain-indexing true
      --rpc-methods Unsafe
      --unsafe-rpc-external
      --rpc-cors all
      --rpc-max-connections 100000
      --pool-limit 100000
      --pool-kbytes 2048000
      --tx-ban-seconds 600
      --blocks-pruning=archive
      --state-pruning=archive
      --ethapi=debug,trace,txpool
      --chain alpha_testnet
    ports:
      - 9944:9944
      - 30333:30333
EOF

docker-compose up -d

git clone <https://github.com/boolnetwork/mining-scripts.git>

apt update
apt install build-essential automake autoconf libtool wget python libssl-dev dkms
wget <https://download.01.org/intel-sgx/latest/linux-latest/distro/ubuntu18.04-server/sgx_linux_x64_driver_1.41.bin>
bash sgx_linux_x64_driver_1.41.bin

cd mining-scripts && ./sgx-detect

vim configs/keyring.toml

node_ws_url = "ws://127.0.0.1:9944"
node_call_port = 8720
identity = "0xPrivatePyramidicKey" 
db_path = "/host/data"
console_port = 5555

[db _ option]
create_if_missing = true
atomic_flush = true

[network _ config]
port = 38700
boot_nodes = ["/ip4/172.210.130.200/tcp/38700/p2p/12D3KooWJVjkr19spLuvmWb68zdxki2qucnubPzbHRjxRi8jhwzF"]
share_peer_interval = 30
only_global_ips = true

[key _ server _ config]
version = 1
attestation_style = 2
seal_policy = "MRSIGNER"
exe_policy = { Multiply = { executors = 8 } }

vim configs/sgx_default_qcnl.conf

{
  "pccs_url": "<https://sgx-dcap-server.cn-hongkong.aliyuncs.com/sgx/certification/v3/>"
}

🔸Services🔸

Our services include node setup, performance monitoring, and security audits, tailored to meet the specific needs of each project. Check page

Services