commit
242ec17e9a
|
@ -60,21 +60,6 @@ cd btcp-explorer
|
||||||
# Install Insight API / UI (Explorer) (Headless)
|
# Install Insight API / UI (Explorer) (Headless)
|
||||||
../node_modules/bitcore-node-btcp/bin/bitcore-node install BTCPrivate/insight-api-btcp BTCPrivate/insight-ui-btcp
|
../node_modules/bitcore-node-btcp/bin/bitcore-node install BTCPrivate/insight-api-btcp BTCPrivate/insight-ui-btcp
|
||||||
|
|
||||||
# !!! OPTIONAL [TODO present cli options] Install store-demo
|
|
||||||
cd ~
|
|
||||||
git clone https://github.com/BTCPrivate/store-demo
|
|
||||||
cd btcp-explorer/node_modules
|
|
||||||
ln -s ~/store-demo
|
|
||||||
|
|
||||||
# !!! OPTIONAL [TODO present cli options] Install address-watch
|
|
||||||
cd ~
|
|
||||||
git clone https://github.com/BTCPrivate/address-watch
|
|
||||||
cd btcp-explorer/node_modules
|
|
||||||
ln -s ~/address-watch
|
|
||||||
|
|
||||||
# Create config file for Bitcore
|
|
||||||
# !!! OPTIONAL TODO add store-demo and address-watch to services as specified
|
|
||||||
|
|
||||||
# Create config file for Bitcore
|
# Create config file for Bitcore
|
||||||
cat << EOF > bitcore-node.json
|
cat << EOF > bitcore-node.json
|
||||||
{
|
{
|
|
@ -24,8 +24,8 @@ export NVM_DIR="$HOME/.nvm"
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
# Install node v9, or v4 for <=4.0
|
# Install node v9
|
||||||
nvm install v9 #v4
|
nvm install v9
|
||||||
|
|
||||||
# Fetch BTCP + Build from source
|
# Fetch BTCP + Build from source
|
||||||
./build_btcp.sh
|
./build_btcp.sh
|
||||||
|
@ -39,12 +39,13 @@ npm install npm-run-all -g
|
||||||
|
|
||||||
|
|
||||||
cd ~
|
cd ~
|
||||||
|
|
||||||
mkdir btcp-bitcore-node
|
mkdir btcp-bitcore-node
|
||||||
cd btcp-bitcore-node
|
cd btcp-bitcore-node
|
||||||
|
|
||||||
# Install Bitcore (Headless)
|
# Install Bitcore (Headless)
|
||||||
nvm use v9 #v4
|
nvm use v9
|
||||||
npm install ch4ot1c/bitcore-node # or #4.0-btcp for daemon-compatible(?)
|
npm install ch4ot1c/bitcore-node # or branch 4.0-btcp (?)
|
||||||
|
|
||||||
# Create Bitcore Node
|
# Create Bitcore Node
|
||||||
./node_modules/bitcore-node/bin/bitcore-node create btcp-node
|
./node_modules/bitcore-node/bin/bitcore-node create btcp-node
|
||||||
|
@ -57,6 +58,7 @@ cd btcp-node
|
||||||
cd node_modules
|
cd node_modules
|
||||||
npm install ch4ot1c/insight-api ch4ot1c/insight --save
|
npm install ch4ot1c/insight-api ch4ot1c/insight --save
|
||||||
|
|
||||||
|
# Service Installation Instructions from BitPay site (for newer versions of bitcore/bitcore-node, wip):
|
||||||
# !!! OPTIONAL [TODO present cli options] Install store-demo
|
# !!! OPTIONAL [TODO present cli options] Install store-demo
|
||||||
#cd ~
|
#cd ~
|
||||||
#git clone https://github.com/BTCPrivate/store-demo
|
#git clone https://github.com/BTCPrivate/store-demo
|
||||||
|
@ -72,39 +74,7 @@ npm install ch4ot1c/insight-api ch4ot1c/insight --save
|
||||||
# Create config file for Bitcore
|
# Create config file for Bitcore
|
||||||
# !!! OPTIONAL TODO add store-demo and address-watch to services as specified
|
# !!! OPTIONAL TODO add store-demo and address-watch to services as specified
|
||||||
|
|
||||||
# Create config file for Bitcore
|
# daemon (5.0) (uses bcoin)
|
||||||
: '
|
|
||||||
# daemon (4.0) (bitcoind, as opposed to bcoin)
|
|
||||||
cat << EOF > bitcore-node.json
|
|
||||||
{
|
|
||||||
"network": "livenet",
|
|
||||||
"port": 8001,
|
|
||||||
"services": [
|
|
||||||
"bitcoind",
|
|
||||||
"insight-api",
|
|
||||||
"insight-ui",
|
|
||||||
"web"
|
|
||||||
],
|
|
||||||
"servicesConfig": {
|
|
||||||
"bitcoind": {
|
|
||||||
"spawn": {
|
|
||||||
"datadir": "$HOME/.btcprivate",
|
|
||||||
"exec": "$HOME/BitcoinPrivate/src/btcpd"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"insight-ui": {
|
|
||||||
"apiPrefix": "api",
|
|
||||||
"routePrefix": ""
|
|
||||||
},
|
|
||||||
"insight-api": {
|
|
||||||
"routePrefix": "api"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
'
|
|
||||||
|
|
||||||
# daemon (5.0) (bcoin)
|
|
||||||
# optional - add bitcore-wallet-service
|
# optional - add bitcore-wallet-service
|
||||||
cat << EOF > bitcore-node.json
|
cat << EOF > bitcore-node.json
|
||||||
{
|
{
|
||||||
|
@ -150,7 +120,7 @@ EOF
|
||||||
|
|
||||||
|
|
||||||
echo "To start the daemon and all services, run:"
|
echo "To start the daemon and all services, run:"
|
||||||
echo "./start.sh"
|
echo "bitcore start"
|
||||||
echo "\n"
|
echo "\n"
|
||||||
echo "To view the explorer in your browser - http://server_ip:8001"
|
echo "To view the explorer in your browser - http://server_ip:8001"
|
||||||
echo "For https, we recommend you route through Cloudflare."
|
echo "For https, we recommend you route through Cloudflare."
|
|
@ -42,12 +42,13 @@ npm install -g BTCPrivate/bitcore
|
||||||
# -- Bitcore --
|
# -- Bitcore --
|
||||||
|
|
||||||
bitcore create btcp
|
bitcore create btcp
|
||||||
#bitcore install ...
|
#bitcore install ch4ot1c/insight-api ch4ot1c/insight
|
||||||
|
# (BTCPrivate/bitcore-wallet-service, BTCPrivate/store-demo, BTCPrivate/address-watch)
|
||||||
cd btcp
|
cd btcp
|
||||||
|
|
||||||
# TODO set generated package.json's refs to ch4ot1c/
|
|
||||||
npm install
|
npm install
|
||||||
|
|
||||||
|
# bitcored (bitpay website approach):
|
||||||
# !!! OPTIONAL [TODO present cli options] Install store-demo
|
# !!! OPTIONAL [TODO present cli options] Install store-demo
|
||||||
#cd ~
|
#cd ~
|
||||||
#git clone https://github.com/BTCPrivate/store-demo
|
#git clone https://github.com/BTCPrivate/store-demo
|
||||||
|
@ -59,13 +60,9 @@ npm install
|
||||||
#git clone https://github.com/BTCPrivate/address-watch
|
#git clone https://github.com/BTCPrivate/address-watch
|
||||||
#cd btcp-explorer/node_modules
|
#cd btcp-explorer/node_modules
|
||||||
#ln -s ~/address-watch
|
#ln -s ~/address-watch
|
||||||
|
|
||||||
# !!! OPTIONAL [TODO present cli options] Install bitcore-wallet-service
|
# !!! OPTIONAL [TODO present cli options] Install bitcore-wallet-service
|
||||||
|
|
||||||
|
|
||||||
#bitcore install ch4ot1c/insight-api ch4ot1c/insight
|
|
||||||
# (BTCPrivate/bitcore-wallet-service, BTCPrivate/store-demo, BTCPrivate/address-watch)
|
|
||||||
|
|
||||||
# Create config file for Bitcore
|
# Create config file for Bitcore
|
||||||
cat << EOF > bitcore-node.json
|
cat << EOF > bitcore-node.json
|
||||||
{
|
{
|
|
@ -0,0 +1,181 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# BTCP Bitcore API + Explorer + Store / AddressWatch Demo
|
||||||
|
|
||||||
|
# !!! EC2 - Make sure port 8001 is in your security group
|
||||||
|
|
||||||
|
install_ubuntu() {
|
||||||
|
|
||||||
|
# Get Ubuntu Dependencies
|
||||||
|
sudo apt-get update
|
||||||
|
|
||||||
|
sudo apt-get -y install \
|
||||||
|
build-essential pkg-config libc6-dev m4 g++-multilib \
|
||||||
|
autoconf libtool ncurses-dev unzip git python \
|
||||||
|
zlib1g-dev wget bsdmainutils automake
|
||||||
|
|
||||||
|
# Install ZeroMQ libraries (Bitcore)
|
||||||
|
sudo apt-get -y install libzmq3-dev
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
make_swapfile() {
|
||||||
|
|
||||||
|
# You must have enough memory for the installation to succeed.
|
||||||
|
|
||||||
|
PREV=$PWD
|
||||||
|
cd /
|
||||||
|
sudo dd if=/dev/zero of=swapfile bs=1M count=3000
|
||||||
|
sudo mkswap swapfile
|
||||||
|
sudo chmod 0600 /swapfile
|
||||||
|
sudo swapon swapfile
|
||||||
|
echo "/swapfile none swap sw 0 0" | sudo tee -a etc/fstab > /dev/null
|
||||||
|
cd $PREV
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
clone_and_build_btcp() {
|
||||||
|
|
||||||
|
# Clone latest Bitcoin Private source, and checkout explorer-btcp
|
||||||
|
git clone -b explorer-btcp https://github.com/BTCPrivate/BitcoinPrivate
|
||||||
|
|
||||||
|
# Fetch BTCP/Zcash ceremony params
|
||||||
|
./BitcoinPrivate/btcputil/fetch-params.sh
|
||||||
|
|
||||||
|
# Build Bitcoin Private
|
||||||
|
./BitcoinPrivate/btcputil/build.sh -j$(nproc)
|
||||||
|
|
||||||
|
# Make initial, empty btcprivate.conf if needed
|
||||||
|
if [ ! -e ~/.btcprivate/btcprivate.conf ]
|
||||||
|
then
|
||||||
|
touch ~/.btcprivate/btcprivate.conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
install_nvm_npm() {
|
||||||
|
|
||||||
|
# Install npm
|
||||||
|
sudo apt-get -y install npm
|
||||||
|
|
||||||
|
# Install nvm (npm version manager)
|
||||||
|
wget -qO- https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
|
||||||
|
|
||||||
|
# Set up nvm
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
# Install node v4
|
||||||
|
nvm install v4
|
||||||
|
nvm use v4
|
||||||
|
nvm alias default v4
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# MongoDB dependency for bitcore-wallet-service:
|
||||||
|
|
||||||
|
install_mongodb() {
|
||||||
|
|
||||||
|
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
|
||||||
|
# Ubuntu >= 16; for prior versions, see mongodb website
|
||||||
|
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y mongodb-org
|
||||||
|
|
||||||
|
# Make initial empty db dir
|
||||||
|
sudo mkdir -p /data/db
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
install_bitcore() {
|
||||||
|
|
||||||
|
# Install Bitcore (Headless)
|
||||||
|
npm install BTCPrivate/bitcore-node-btcp
|
||||||
|
|
||||||
|
# Create Bitcore Node
|
||||||
|
./node_modules/bitcore-node-btcp/bin/bitcore-node create btcp-explorer
|
||||||
|
cd btcp-explorer
|
||||||
|
|
||||||
|
# Install Insight API / UI (Explorer) (Headless)
|
||||||
|
../node_modules/bitcore-node-btcp/bin/bitcore-node install BTCPrivate/insight-api-btcp BTCPrivate/insight-ui-btcp BTCPrivate/store-demo
|
||||||
|
# (BTCPrivate/address-watch) (BTCPrivate/bitcore-wallet-service (untested))
|
||||||
|
|
||||||
|
|
||||||
|
# Create config file for Bitcore
|
||||||
|
cat << EOF > bitcore-node.json
|
||||||
|
{
|
||||||
|
"network": "livenet",
|
||||||
|
"port": 8001,
|
||||||
|
"services": [
|
||||||
|
"bitcoind",
|
||||||
|
"insight-api-btcp",
|
||||||
|
"insight-ui-btcp",
|
||||||
|
"store-demo",
|
||||||
|
"web"
|
||||||
|
],
|
||||||
|
"servicesConfig": {
|
||||||
|
"bitcoind": {
|
||||||
|
"spawn": {
|
||||||
|
"datadir": "$HOME/.btcprivate",
|
||||||
|
"exec": "$HOME/BitcoinPrivate/src/btcpd"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"insight-ui-btcp": {
|
||||||
|
"apiPrefix": "api",
|
||||||
|
"routePrefix": ""
|
||||||
|
},
|
||||||
|
"insight-api-btcp": {
|
||||||
|
"routePrefix": "api"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
# -- Begin Fetching + Building --
|
||||||
|
cd ~
|
||||||
|
|
||||||
|
echo "Begin Setup."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
install_ubuntu
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "Can we make you a 3gb swapfile? EC2 Micro needs it because it takes a lot of memory to build BTCP."
|
||||||
|
echo ""
|
||||||
|
read -r -p "[y/N] " response
|
||||||
|
case "$response" in
|
||||||
|
[yY][eE][sS]|[yY])
|
||||||
|
make_swapfile
|
||||||
|
clone_and_build_btcp
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
clone_and_build_btcp
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
install_nvm_npm
|
||||||
|
|
||||||
|
#install_mongodb
|
||||||
|
|
||||||
|
install_bitcore
|
||||||
|
|
||||||
|
echo "Complete."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
# Verify that nvm is exported
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
echo "To start mongodb for bitcore-wallet-service, run 'mongod &'"
|
||||||
|
echo "To start the bitcore-node, run:"
|
||||||
|
echo "cd ~/btcp-explorer; nvm use v4; ./node_modules/bitcore-node-btcp/bin/bitcore-node start"
|
||||||
|
echo ""
|
||||||
|
echo "To view the explorer in your browser - http://server_ip:8001"
|
||||||
|
echo "For https, we recommend you route through Cloudflare. bitcore-node also supports it via the config; provide certs."
|
|
@ -6,8 +6,9 @@ export NVM_DIR="$HOME/.nvm"
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
# Start Bitcore Services (and Daemon)
|
# Start Bitcore Services (and Daemon)
|
||||||
nvm use v9 #v4
|
# For >= 5.0 (bitpay website instructions)
|
||||||
|
nvm use v9; bitcored
|
||||||
|
|
||||||
|
# For earlier versions:
|
||||||
|
# cd btcp-explorer; nvm use v4; ./node_modules/bitcore-node/bin/bitcore-node start
|
||||||
|
|
||||||
./node_modules/bitcore-node/bin/bitcore-node start
|
|
||||||
# (run this from where you ran `bitcore create x` (btcp-bitcore-node))
|
|
||||||
# (or, if set up like the >= 5.0 bitpay website instructions, just `bitcored`)
|
|
Loading…
Reference in New Issue