Compare commits
6 Commits
master
...
combined-b
Author | SHA1 | Date | |
---|---|---|---|
|
6692a5fc87 | ||
|
85e23bd992 | ||
|
a2e110dbc7 | ||
|
aa56744e8d | ||
|
2393d6c554 | ||
|
0de29b5847 |
@ -5,7 +5,8 @@ sokol-kovan:
|
|||||||
hosts:
|
hosts:
|
||||||
127.0.0.1:
|
127.0.0.1:
|
||||||
ansible_user: ubuntu
|
ansible_user: ubuntu
|
||||||
ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||||
|
AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
|
||||||
#syslog_server_port: "udp://127.0.0.1:514"
|
#syslog_server_port: "udp://127.0.0.1:514"
|
||||||
monitor:
|
monitor:
|
||||||
hosts:
|
hosts:
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
---
|
---
|
||||||
bridge_path: "/home/{{ compose_service_user }}/bridge"
|
bridge_path: "/home/{{ compose_service_user }}/bridge"
|
||||||
ORACLE_ALLOW_HTTP_FOR_RPC: no
|
|
||||||
ORACLE_QUEUE_URL: amqp://rabbit
|
|
||||||
ORACLE_REDIS_URL: redis://redis
|
|
||||||
keyfile_path: "/root/.key"
|
keyfile_path: "/root/.key"
|
||||||
|
@ -2,8 +2,6 @@
|
|||||||
- include_tasks: logging_by_syslog.yml
|
- include_tasks: logging_by_syslog.yml
|
||||||
with_items:
|
with_items:
|
||||||
- docker-compose
|
- docker-compose
|
||||||
- docker-compose-transfer
|
|
||||||
- docker-compose-amb
|
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: file
|
loop_var: file
|
||||||
|
|
||||||
|
@ -1,39 +1,59 @@
|
|||||||
---
|
---
|
||||||
- name: Get blocks
|
- name: Get blocks for TokenBridge
|
||||||
become_user: "{{ compose_service_user }}"
|
become_user: "{{ compose_service_user }}"
|
||||||
shell: docker-compose run --rm --entrypoint "node scripts/getValidatorStartBlocks.js" bridge_affirmation
|
shell: docker-compose run --rm --entrypoint "node scripts/getValidatorStartBlocks.js" bridge_affirmation
|
||||||
args:
|
args:
|
||||||
chdir: "{{ bridge_path }}/oracle"
|
chdir: "{{ bridge_path }}/oracle"
|
||||||
register: BLOCKS
|
register: TBBLOCKS
|
||||||
when: (ORACLE_HOME_START_BLOCK is not defined) or (ORACLE_FOREIGN_START_BLOCK is not defined)
|
when: (TB_HOME_START_BLOCK is not defined) or (TB_FOREIGN_START_BLOCK is not defined)
|
||||||
|
|
||||||
- name: Write blocks
|
- name: Get blocks for AMB
|
||||||
|
become_user: "{{ compose_service_user }}"
|
||||||
|
shell: docker-compose run --rm --entrypoint "node scripts/getValidatorStartBlocks.js" bridge_amb_affirmation
|
||||||
|
args:
|
||||||
|
chdir: "{{ bridge_path }}/oracle"
|
||||||
|
register: AMBBLOCKS
|
||||||
|
when: (AMB_HOME_START_BLOCK is not defined) or (AMB_FOREIGN_START_BLOCK is not defined)
|
||||||
|
|
||||||
|
- name: Write blocks for TokenBridge
|
||||||
blockinfile:
|
blockinfile:
|
||||||
path: "{{ bridge_path }}/oracle/.env"
|
path: "{{ bridge_path }}/oracle/.env"
|
||||||
marker: "## {mark} Calculated by scripts/getValidatorStartBlocks.js"
|
marker: "## {mark} Calculated by scripts/getValidatorStartBlocks.js"
|
||||||
block: |
|
block: |
|
||||||
ORACLE_HOME_START_BLOCK={{ (BLOCKS.stdout | from_json).homeStartBlock }}
|
TB_HOME_START_BLOCK={{ (TBBLOCKS.stdout | from_json).homeStartBlock }}
|
||||||
ORACLE_FOREIGN_START_BLOCK={{ (BLOCKS.stdout | from_json).foreignStartBlock }}
|
TB_FOREIGN_START_BLOCK={{ (TBBLOCKS.stdout | from_json).foreignStartBlock }}
|
||||||
when: (ORACLE_HOME_START_BLOCK is not defined) or (ORACLE_FOREIGN_START_BLOCK is not defined)
|
when: (TB_HOME_START_BLOCK is not defined) or (TB_FOREIGN_START_BLOCK is not defined)
|
||||||
|
|
||||||
- name: Get validator address
|
- name: Write blocks for AMB
|
||||||
|
blockinfile:
|
||||||
|
path: "{{ bridge_path }}/oracle/.env"
|
||||||
|
marker: "## {mark} Calculated by scripts/getValidatorStartBlocks.js"
|
||||||
|
block: |
|
||||||
|
AMB_HOME_START_BLOCK={{ (AMBBLOCKS.stdout | from_json).homeStartBlock }}
|
||||||
|
AMB_FOREIGN_START_BLOCK={{ (AMBBLOCKS.stdout | from_json).foreignStartBlock }}
|
||||||
|
when: (AMB_HOME_START_BLOCK is not defined) or (AMB_FOREIGN_START_BLOCK is not defined)
|
||||||
|
|
||||||
|
- name: Get validator address for TokenBridge
|
||||||
become_user: "{{ compose_service_user }}"
|
become_user: "{{ compose_service_user }}"
|
||||||
shell: docker-compose run --rm -e ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY="{{ ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY }}" --entrypoint "node scripts/privateKeyToAddress.js" bridge_affirmation
|
shell: docker-compose run --rm -e ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY="{{ TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY }}" --entrypoint "node scripts/privateKeyToAddress.js" bridge_affirmation
|
||||||
args:
|
args:
|
||||||
chdir: "{{ bridge_path }}/oracle"
|
chdir: "{{ bridge_path }}/oracle"
|
||||||
register: VADDRESS
|
register: TBVADDRESS
|
||||||
|
|
||||||
- name: Set ORACLE_VALIDATOR_ADDRESS variable
|
- name: Set TB_ORACLE_VALIDATOR_ADDRESS variable
|
||||||
set_fact:
|
set_fact:
|
||||||
ORACLE_VALIDATOR_ADDRESS: "{{ VADDRESS.stdout }}"
|
TB_ORACLE_VALIDATOR_ADDRESS: "{{ TBVADDRESS.stdout }}"
|
||||||
|
|
||||||
- name: Extend docker compose file for erc to native
|
- name: Get validator address for AMB
|
||||||
set_fact: composefileoverride="-f docker-compose-transfer.yml"
|
become_user: "{{ compose_service_user }}"
|
||||||
when: ORACLE_BRIDGE_MODE == "ERC_TO_NATIVE"
|
shell: docker-compose run --rm -e ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY="{{ AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY }}" --entrypoint "node scripts/privateKeyToAddress.js" bridge_affirmation
|
||||||
|
args:
|
||||||
|
chdir: "{{ bridge_path }}/oracle"
|
||||||
|
register: AMBVADDRESS
|
||||||
|
|
||||||
- name: Extend docker compose file for amb
|
- name: Set AMB_ORACLE_VALIDATOR_ADDRESS variable
|
||||||
set_fact: composefileoverride="-f docker-compose-amb.yml"
|
set_fact:
|
||||||
when: ORACLE_BRIDGE_MODE == "ARBITRARY_MESSAGE"
|
AMB_ORACLE_VALIDATOR_ADDRESS: "{{ AMBVADDRESS.stdout }}"
|
||||||
|
|
||||||
- name: Install .key config
|
- name: Install .key config
|
||||||
template:
|
template:
|
||||||
|
@ -12,12 +12,8 @@
|
|||||||
owner: "{{ compose_service_user }}"
|
owner: "{{ compose_service_user }}"
|
||||||
mode: '0640'
|
mode: '0640'
|
||||||
|
|
||||||
- name: Copy docker-compose files
|
- name: Copy docker-compose file
|
||||||
copy:
|
copy:
|
||||||
src: ../../../../oracle/{{ item }}
|
src: ../../../../oracle/docker-compose-combined.yml
|
||||||
dest: "{{ bridge_path }}/oracle/"
|
dest: "{{ bridge_path }}/oracle/docker-compose.yml"
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
with_items:
|
|
||||||
- docker-compose.yml
|
|
||||||
- docker-compose-transfer.yml
|
|
||||||
- docker-compose-amb.yml
|
|
||||||
|
@ -1,21 +1,28 @@
|
|||||||
## General settings
|
## General settings
|
||||||
ORACLE_BRIDGE_MODE={{ ORACLE_BRIDGE_MODE }}
|
|
||||||
{% if ORACLE_LOG_LEVEL | default('') != '' %}
|
{% if ORACLE_LOG_LEVEL | default('') != '' %}
|
||||||
ORACLE_LOG_LEVEL={{ ORACLE_LOG_LEVEL }}
|
ORACLE_LOG_LEVEL={{ ORACLE_LOG_LEVEL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
## Home contract
|
## Home contract
|
||||||
COMMON_HOME_RPC_URL={{ COMMON_HOME_RPC_URL }}
|
COMMON_HOME_RPC_URL={{ COMMON_HOME_RPC_URL }}
|
||||||
COMMON_HOME_BRIDGE_ADDRESS={{ COMMON_HOME_BRIDGE_ADDRESS }}
|
TB_HOME_BRIDGE_ADDRESS={{ TB_HOME_BRIDGE_ADDRESS }}
|
||||||
|
AMB_HOME_BRIDGE_ADDRESS={{ AMB_HOME_BRIDGE_ADDRESS }}
|
||||||
ORACLE_HOME_RPC_POLLING_INTERVAL={{ ORACLE_HOME_RPC_POLLING_INTERVAL }}
|
ORACLE_HOME_RPC_POLLING_INTERVAL={{ ORACLE_HOME_RPC_POLLING_INTERVAL }}
|
||||||
|
{% if ORACLE_HOME_RPC_BLOCK_POLLING_LIMIT | default('') != '' %}
|
||||||
|
ORACLE_HOME_RPC_BLOCK_POLLING_LIMIT={{ ORACLE_HOME_RPC_BLOCK_POLLING_LIMIT }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
## Foreign contract
|
## Foreign contract
|
||||||
COMMON_FOREIGN_RPC_URL={{ COMMON_FOREIGN_RPC_URL }}
|
COMMON_FOREIGN_RPC_URL={{ COMMON_FOREIGN_RPC_URL }}
|
||||||
{% if ORACLE_FOREIGN_ARCHIVE_RPC_URL | default('') != '' %}
|
{% if ORACLE_FOREIGN_ARCHIVE_RPC_URL | default('') != '' %}
|
||||||
ORACLE_FOREIGN_ARCHIVE_RPC_URL={{ ORACLE_FOREIGN_ARCHIVE_RPC_URL }}
|
ORACLE_FOREIGN_ARCHIVE_RPC_URL={{ ORACLE_FOREIGN_ARCHIVE_RPC_URL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
COMMON_FOREIGN_BRIDGE_ADDRESS={{ COMMON_FOREIGN_BRIDGE_ADDRESS }}
|
TB_FOREIGN_BRIDGE_ADDRESS={{ TB_FOREIGN_BRIDGE_ADDRESS }}
|
||||||
|
AMB_FOREIGN_BRIDGE_ADDRESS={{ AMB_FOREIGN_BRIDGE_ADDRESS }}
|
||||||
ORACLE_FOREIGN_RPC_POLLING_INTERVAL={{ ORACLE_FOREIGN_RPC_POLLING_INTERVAL }}
|
ORACLE_FOREIGN_RPC_POLLING_INTERVAL={{ ORACLE_FOREIGN_RPC_POLLING_INTERVAL }}
|
||||||
|
{% if ORACLE_FOREIGN_RPC_BLOCK_POLLING_LIMIT | default('') != '' %}
|
||||||
|
ORACLE_FOREIGN_RPC_BLOCK_POLLING_LIMIT={{ ORACLE_FOREIGN_RPC_BLOCK_POLLING_LIMIT }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if ORACLE_TX_REDUNDANCY | default('') != '' %}
|
{% if ORACLE_TX_REDUNDANCY | default('') != '' %}
|
||||||
ORACLE_TX_REDUNDANCY={{ ORACLE_TX_REDUNDANCY }}
|
ORACLE_TX_REDUNDANCY={{ ORACLE_TX_REDUNDANCY }}
|
||||||
@ -52,8 +59,10 @@ COMMON_FOREIGN_GAS_PRICE_FACTOR={{ COMMON_FOREIGN_GAS_PRICE_FACTOR }}
|
|||||||
|
|
||||||
## Transport configuration
|
## Transport configuration
|
||||||
ORACLE_ALLOW_HTTP_FOR_RPC={{ "yes" if ORACLE_ALLOW_HTTP_FOR_RPC else "no" }}
|
ORACLE_ALLOW_HTTP_FOR_RPC={{ "yes" if ORACLE_ALLOW_HTTP_FOR_RPC else "no" }}
|
||||||
ORACLE_QUEUE_URL={{ ORACLE_QUEUE_URL }}
|
TB_QUEUE_URL={{ TB_QUEUE_URL }}
|
||||||
ORACLE_REDIS_URL={{ ORACLE_REDIS_URL }}
|
TB_REDIS_URL={{ TB_REDIS_URL }}
|
||||||
|
AMB_QUEUE_URL={{ AMB_QUEUE_URL }}
|
||||||
|
AMB_REDIS_URL={{ AMB_REDIS_URL }}
|
||||||
{% if ORACLE_FOREIGN_TX_RESEND_INTERVAL | default('') != '' %}
|
{% if ORACLE_FOREIGN_TX_RESEND_INTERVAL | default('') != '' %}
|
||||||
ORACLE_FOREIGN_TX_RESEND_INTERVAL={{ ORACLE_FOREIGN_TX_RESEND_INTERVAL }}
|
ORACLE_FOREIGN_TX_RESEND_INTERVAL={{ ORACLE_FOREIGN_TX_RESEND_INTERVAL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
@ -61,26 +70,50 @@ ORACLE_FOREIGN_TX_RESEND_INTERVAL={{ ORACLE_FOREIGN_TX_RESEND_INTERVAL }}
|
|||||||
ORACLE_HOME_TX_RESEND_INTERVAL={{ ORACLE_HOME_TX_RESEND_INTERVAL }}
|
ORACLE_HOME_TX_RESEND_INTERVAL={{ ORACLE_HOME_TX_RESEND_INTERVAL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
## Emergency shutdown configuration
|
## Emergency shutdown configuration for TokenBridge
|
||||||
{% if ORACLE_SHUTDOWN_SERVICE_URL | default('') != '' %}
|
{% if TB_SHUTDOWN_SERVICE_URL | default('') != '' %}
|
||||||
ORACLE_SHUTDOWN_SERVICE_URL={{ ORACLE_SHUTDOWN_SERVICE_URL }}
|
TB_SHUTDOWN_SERVICE_URL={{ TB_SHUTDOWN_SERVICE_URL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL | default('') != '' %}
|
{% if TB_SHUTDOWN_SERVICE_POLLING_INTERVAL | default('') != '' %}
|
||||||
ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL={{ ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL }}
|
TB_SHUTDOWN_SERVICE_POLLING_INTERVAL={{ TB_SHUTDOWN_SERVICE_POLLING_INTERVAL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ORACLE_SIDE_RPC_URL | default('') != '' %}
|
{% if TB_SIDE_RPC_URL | default('') != '' %}
|
||||||
ORACLE_SIDE_RPC_URL={{ ORACLE_SIDE_RPC_URL }}
|
TB_SIDE_RPC_URL={{ TB_SIDE_RPC_URL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ORACLE_SHUTDOWN_CONTRACT_ADDRESS | default('') != '' %}
|
{% if TB_SHUTDOWN_CONTRACT_ADDRESS | default('') != '' %}
|
||||||
ORACLE_SHUTDOWN_CONTRACT_ADDRESS={{ ORACLE_SHUTDOWN_CONTRACT_ADDRESS }}
|
TB_SHUTDOWN_CONTRACT_ADDRESS={{ TB_SHUTDOWN_CONTRACT_ADDRESS }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ORACLE_SHUTDOWN_CONTRACT_METHOD | default('') != '' %}
|
{% if TB_SHUTDOWN_CONTRACT_METHOD | default('') != '' %}
|
||||||
ORACLE_SHUTDOWN_CONTRACT_METHOD={{ ORACLE_SHUTDOWN_CONTRACT_METHOD }}
|
TB_SHUTDOWN_CONTRACT_METHOD={{ TB_SHUTDOWN_CONTRACT_METHOD }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if ORACLE_HOME_START_BLOCK | default('') != '' %}
|
## Emergency shutdown configuration for AMB
|
||||||
ORACLE_HOME_START_BLOCK={{ ORACLE_HOME_START_BLOCK }}
|
{% if AMB_SHUTDOWN_SERVICE_URL | default('') != '' %}
|
||||||
|
AMB_SHUTDOWN_SERVICE_URL={{ AMB_SHUTDOWN_SERVICE_URL }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if ORACLE_FOREIGN_START_BLOCK | default('') != '' %}
|
{% if AMB_SHUTDOWN_SERVICE_POLLING_INTERVAL | default('') != '' %}
|
||||||
ORACLE_FOREIGN_START_BLOCK={{ ORACLE_FOREIGN_START_BLOCK }}
|
AMB_SHUTDOWN_SERVICE_POLLING_INTERVAL={{ AMB_SHUTDOWN_SERVICE_POLLING_INTERVAL }}
|
||||||
|
{% endif %}
|
||||||
|
{% if AMB_SIDE_RPC_URL | default('') != '' %}
|
||||||
|
AMB_SIDE_RPC_URL={{ AMB_SIDE_RPC_URL }}
|
||||||
|
{% endif %}
|
||||||
|
{% if AMB_SHUTDOWN_CONTRACT_ADDRESS | default('') != '' %}
|
||||||
|
AMB_SHUTDOWN_CONTRACT_ADDRESS={{ AMB_SHUTDOWN_CONTRACT_ADDRESS }}
|
||||||
|
{% endif %}
|
||||||
|
{% if AMB_SHUTDOWN_CONTRACT_METHOD | default('') != '' %}
|
||||||
|
AMB_SHUTDOWN_CONTRACT_METHOD={{ AMB_SHUTDOWN_CONTRACT_METHOD }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if TB_HOME_START_BLOCK | default('') != '' %}
|
||||||
|
TB_HOME_START_BLOCK={{ TB_HOME_START_BLOCK }}
|
||||||
|
{% endif %}
|
||||||
|
{% if TB_FOREIGN_START_BLOCK | default('') != '' %}
|
||||||
|
TB_FOREIGN_START_BLOCK={{ TB_FOREIGN_START_BLOCK }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if AMB_HOME_START_BLOCK | default('') != '' %}
|
||||||
|
AMB_HOME_START_BLOCK={{ AMB_HOME_START_BLOCK }}
|
||||||
|
{% endif %}
|
||||||
|
{% if AMB_FOREIGN_START_BLOCK | default('') != '' %}
|
||||||
|
AMB_FOREIGN_START_BLOCK={{ AMB_FOREIGN_START_BLOCK }}
|
||||||
{% endif %}
|
{% endif %}
|
@ -1,3 +1,6 @@
|
|||||||
## Validator-specific options
|
## Validator-specific options
|
||||||
ORACLE_VALIDATOR_ADDRESS={{ ORACLE_VALIDATOR_ADDRESS }}
|
TB_ORACLE_VALIDATOR_ADDRESS={{ TB_ORACLE_VALIDATOR_ADDRESS }}
|
||||||
ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY={{ ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY }}
|
TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY={{ TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY }}
|
||||||
|
|
||||||
|
AMB_ORACLE_VALIDATOR_ADDRESS={{ AMB_ORACLE_VALIDATOR_ADDRESS }}
|
||||||
|
AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY={{ AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY }}
|
||||||
|
@ -14,19 +14,26 @@ WORKDIR="{{ '/home/' + compose_service_user | default('poadocker') + '/' + bridg
|
|||||||
|
|
||||||
#Getting path to private key file and variable name for parsing key file
|
#Getting path to private key file and variable name for parsing key file
|
||||||
keyfile="{{ keyfile_path }}"
|
keyfile="{{ keyfile_path }}"
|
||||||
vaddr="ORACLE_VALIDATOR_ADDRESS="
|
tbvaddr="TB_ORACLE_VALIDATOR_ADDRESS="
|
||||||
vkey="ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY="
|
tbvkey="TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY="
|
||||||
composefileoverride="{{ composefileoverride | default('') }}"
|
ambvaddr="AMB_ORACLE_VALIDATOR_ADDRESS="
|
||||||
|
ambvkey="AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY="
|
||||||
|
|
||||||
#Parsing file content and add key to variable
|
#Parsing file content and add key to variable
|
||||||
while read -r line
|
while read -r line
|
||||||
do
|
do
|
||||||
case $line in
|
case $line in
|
||||||
$vaddr*)
|
$tbvaddr*)
|
||||||
vaddr=${line#$vaddr}
|
tbvaddr=${line#$tbvaddr}
|
||||||
;;
|
;;
|
||||||
$vkey*)
|
$tbvkey*)
|
||||||
vkey=${line#$vkey}
|
tbvkey=${line#$tbvkey}
|
||||||
|
;;
|
||||||
|
$ambvaddr*)
|
||||||
|
ambvaddr=${line#$ambvaddr}
|
||||||
|
;;
|
||||||
|
$ambvkey*)
|
||||||
|
ambvkey=${line#$ambvkey}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done < $keyfile
|
done < $keyfile
|
||||||
@ -34,22 +41,29 @@ done < $keyfile
|
|||||||
start(){
|
start(){
|
||||||
echo "Starting bridge.."
|
echo "Starting bridge.."
|
||||||
cd $WORKDIR
|
cd $WORKDIR
|
||||||
sudo -u "{{ compose_service_user }}" /usr/local/bin/docker-compose $composefileoverride down -v
|
sudo -u "{{ compose_service_user }}" /usr/local/bin/docker-compose down -v
|
||||||
sudo -u "{{ compose_service_user }}" /usr/local/bin/docker-compose $composefileoverride rm -fv
|
sudo -u "{{ compose_service_user }}" /usr/local/bin/docker-compose rm -fv
|
||||||
sudo -u "{{ compose_service_user }}" ORACLE_VALIDATOR_ADDRESS=$vaddr ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=$vkey /usr/local/bin/docker-compose $composefileoverride up --detach
|
sudo -u "{{ compose_service_user }}" \
|
||||||
|
TB_ORACLE_VALIDATOR_ADDRESS=$tbvaddr \
|
||||||
|
TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=$tbvkey \
|
||||||
|
AMB_ORACLE_VALIDATOR_ADDRESS=$ambvaddr \
|
||||||
|
AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=$ambvkey \
|
||||||
|
/usr/local/bin/docker-compose up --detach
|
||||||
}
|
}
|
||||||
|
|
||||||
stop(){
|
stop(){
|
||||||
echo "Stopping bridge.."
|
echo "Stopping bridge.."
|
||||||
cd $WORKDIR
|
cd $WORKDIR
|
||||||
sudo -u "{{ compose_service_user }}" /usr/local/bin/docker-compose $composefileoverride down -v
|
sudo -u "{{ compose_service_user }}" \
|
||||||
|
/usr/local/bin/docker-compose down -v
|
||||||
sleep 2
|
sleep 2
|
||||||
}
|
}
|
||||||
|
|
||||||
status(){
|
status(){
|
||||||
echo "Bridge status:"
|
echo "Bridge status:"
|
||||||
cd $WORKDIR
|
cd $WORKDIR
|
||||||
sudo -u "{{ compose_service_user }}" /usr/local/bin/docker-compose $composefileoverride ps
|
sudo -u "{{ compose_service_user }}" \
|
||||||
|
/usr/local/bin/docker-compose ps
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
334
oracle/docker-compose-combined.yml
Normal file
334
oracle/docker-compose-combined.yml
Normal file
@ -0,0 +1,334 @@
|
|||||||
|
---
|
||||||
|
version: '2.4'
|
||||||
|
networks:
|
||||||
|
net_db_bridge_green: {driver: bridge}
|
||||||
|
net_db_bridge_red: {driver: bridge}
|
||||||
|
net_rabbit_bridge_green: {driver: bridge}
|
||||||
|
net_rabbit_bridge_red: {driver: bridge}
|
||||||
|
net_ne_bridge_red: {driver: bridge}
|
||||||
|
net_ne_bridge_green: {driver: bridge}
|
||||||
|
net_db_bridge_amb_green: {driver: bridge}
|
||||||
|
net_db_bridge_amb_red: {driver: bridge}
|
||||||
|
net_rabbit_bridge_amb_green: {driver: bridge}
|
||||||
|
net_rabbit_bridge_amb_red: {driver: bridge}
|
||||||
|
net_ne_bridge_amb_red: {driver: bridge}
|
||||||
|
net_ne_bridge_amb_green: {driver: bridge}
|
||||||
|
services:
|
||||||
|
bridge_affirmation:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn watcher:affirmation-request
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ERC_TO_NATIVE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${TB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${TB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${TB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${TB_REDIS_URL}',
|
||||||
|
'ORACLE_FOREIGN_START_BLOCK=${TB_FOREIGN_START_BLOCK}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS=${TB_ORACLE_VALIDATOR_ADDRESS}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_green,
|
||||||
|
net_rabbit_bridge_green,
|
||||||
|
net_ne_bridge_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- rabbit
|
||||||
|
bridge_shutdown:
|
||||||
|
cpus: 0.1
|
||||||
|
mem_limit: 500m
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ERC_TO_NATIVE,
|
||||||
|
'ORACLE_REDIS_URL=${TB_REDIS_URL}',
|
||||||
|
'ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL=${TB_SHUTDOWN_SERVICE_POLLING_INTERVAL}',
|
||||||
|
'ORACLE_SIDE_RPC_URL=${TB_SIDE_RPC_URL}',
|
||||||
|
'ORACLE_SHUTDOWN_CONTRACT_ADDRESS=${TB_SHUTDOWN_CONTRACT_ADDRESS}',
|
||||||
|
'ORACLE_SHUTDOWN_CONTRACT_METHOD=${TB_SHUTDOWN_CONTRACT_METHOD}']
|
||||||
|
restart: unless-stopped
|
||||||
|
entrypoint: yarn manager:shutdown
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
networks: [net_db_bridge_green]
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
bridge_request:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn watcher:signature-request
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ERC_TO_NATIVE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${TB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${TB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${TB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${TB_REDIS_URL}',
|
||||||
|
'ORACLE_HOME_START_BLOCK=${TB_HOME_START_BLOCK}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=${TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_red,
|
||||||
|
net_rabbit_bridge_red,
|
||||||
|
net_ne_bridge_red]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- rabbit
|
||||||
|
bridge_senderhome:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn sender:home
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ERC_TO_NATIVE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${TB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${TB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${TB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${TB_REDIS_URL}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=${TB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_red,
|
||||||
|
net_rabbit_bridge_red,
|
||||||
|
net_ne_bridge_red]
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- rabbit
|
||||||
|
bridge_transfer:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn watcher:transfer
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ERC_TO_NATIVE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${TB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${TB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${TB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${TB_REDIS_URL}',
|
||||||
|
'ORACLE_FOREIGN_START_BLOCK=${TB_FOREIGN_START_BLOCK}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS=${TB_ORACLE_VALIDATOR_ADDRESS}']
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_green,
|
||||||
|
net_rabbit_bridge_green,
|
||||||
|
net_ne_bridge_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis
|
||||||
|
- rabbit
|
||||||
|
rabbit:
|
||||||
|
cpus: 0.3
|
||||||
|
environment: [RABBITMQ_NODENAME=node@rabbit]
|
||||||
|
hostname: rabbit
|
||||||
|
image: rabbitmq:3
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_rabbit_bridge_red,
|
||||||
|
net_rabbit_bridge_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes: ['~/bridge_data/rabbitmq:/var/lib/rabbitmq/mnesia']
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
redis:
|
||||||
|
command: [redis-server, --appendonly, 'yes']
|
||||||
|
cpus: 0.1
|
||||||
|
hostname: redis
|
||||||
|
image: redis:4
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_red,
|
||||||
|
net_db_bridge_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes: ['~/bridge_data/redis:/data']
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
|
||||||
|
ne:
|
||||||
|
container_name: ne
|
||||||
|
image: nethermind/nethermind:latest
|
||||||
|
networks: [net_ne_bridge_green,
|
||||||
|
net_ne_bridge_red,
|
||||||
|
net_ne_bridge_amb_green,
|
||||||
|
net_ne_bridge_amb_red]
|
||||||
|
command:
|
||||||
|
--config xdai
|
||||||
|
--baseDbPath /nethermind
|
||||||
|
--JsonRpc.Enabled true
|
||||||
|
--JsonRpc.Host 0.0.0.0
|
||||||
|
--Init.StoreReceipts false
|
||||||
|
--TxPool.Size 8192
|
||||||
|
--Pruning.Mode Hybrid
|
||||||
|
--Pruning.CacheMb 1024
|
||||||
|
--Sync.FastSync true
|
||||||
|
--Sync.FastBlocks true
|
||||||
|
--Sync.DownloadBodiesInFastSync false
|
||||||
|
--Sync.DownloadReceiptsInFastSync false
|
||||||
|
--Sync.DownloadHeadersInFastSync false
|
||||||
|
volumes:
|
||||||
|
- ~/ne-data/logs:/nethermind/logs
|
||||||
|
- ~/ne-data/nethermind_db:/nethermind/nethermind_db
|
||||||
|
expose:
|
||||||
|
- "8545"
|
||||||
|
ports:
|
||||||
|
- "30304:30303/tcp"
|
||||||
|
- "30304:30303/udp"
|
||||||
|
restart: unless-stopped
|
||||||
|
logging:
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "100m"
|
||||||
|
max-file: "1"
|
||||||
|
bridge_amb_affirmation:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn watcher:affirmation-request
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ARBITRARY_MESSAGE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${AMB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${AMB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${AMB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${AMB_REDIS_URL}',
|
||||||
|
'ORACLE_FOREIGN_START_BLOCK=${AMB_FOREIGN_START_BLOCK}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS=${AMB_ORACLE_VALIDATOR_ADDRESS}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_amb_green,
|
||||||
|
net_rabbit_bridge_amb_green,
|
||||||
|
net_ne_bridge_amb_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis-amb
|
||||||
|
- rabbit-amb
|
||||||
|
bridge_amb_information:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn watcher:information-request
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ARBITRARY_MESSAGE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${AMB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${AMB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${AMB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${AMB_REDIS_URL}',
|
||||||
|
'ORACLE_HOME_START_BLOCK=${AMB_HOME_START_BLOCK}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS=${AMB_ORACLE_VALIDATOR_ADDRESS}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_amb_green,
|
||||||
|
net_rabbit_bridge_amb_green,
|
||||||
|
net_ne_bridge_amb_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis-amb
|
||||||
|
- rabbit-amb
|
||||||
|
bridge_amb_request:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn watcher:signature-request
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ARBITRARY_MESSAGE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${AMB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${AMB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${AMB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${AMB_REDIS_URL}',
|
||||||
|
'ORACLE_HOME_START_BLOCK=${AMB_HOME_START_BLOCK}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=${AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_amb_red,
|
||||||
|
net_rabbit_bridge_amb_red,
|
||||||
|
net_ne_bridge_amb_red]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis-amb
|
||||||
|
- rabbit-amb
|
||||||
|
bridge_amb_shutdown:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn manager:shutdown
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ARBITRARY_MESSAGE,
|
||||||
|
'ORACLE_REDIS_URL=${AMB_REDIS_URL}',
|
||||||
|
'ORACLE_SHUTDOWN_SERVICE_POLLING_INTERVAL=${AMB_SHUTDOWN_SERVICE_POLLING_INTERVAL}',
|
||||||
|
'ORACLE_SIDE_RPC_URL=${AMB_SIDE_RPC_URL}',
|
||||||
|
'ORACLE_SHUTDOWN_CONTRACT_ADDRESS=${AMB_SHUTDOWN_CONTRACT_ADDRESS}',
|
||||||
|
'ORACLE_SHUTDOWN_CONTRACT_METHOD=${AMB_SHUTDOWN_CONTRACT_METHOD}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_amb_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis-amb
|
||||||
|
bridge_amb_senderhome:
|
||||||
|
cpus: 0.1
|
||||||
|
entrypoint: yarn sender:home
|
||||||
|
env_file: ./.env
|
||||||
|
environment: [NODE_ENV=production,
|
||||||
|
ORACLE_BRIDGE_MODE=ARBITRARY_MESSAGE,
|
||||||
|
'COMMON_HOME_BRIDGE_ADDRESS=${AMB_HOME_BRIDGE_ADDRESS}',
|
||||||
|
'COMMON_FOREIGN_BRIDGE_ADDRESS=${AMB_FOREIGN_BRIDGE_ADDRESS}',
|
||||||
|
'ORACLE_QUEUE_URL=${AMB_QUEUE_URL}',
|
||||||
|
'ORACLE_REDIS_URL=${AMB_REDIS_URL}',
|
||||||
|
'ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY=${AMB_ORACLE_VALIDATOR_ADDRESS_PRIVATE_KEY}']
|
||||||
|
image: poanetwork/tokenbridge-oracle:latest
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_amb_red,
|
||||||
|
net_rabbit_bridge_amb_red,
|
||||||
|
net_ne_bridge_amb_red]
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- redis-amb
|
||||||
|
- rabbit-amb
|
||||||
|
rabbit-amb:
|
||||||
|
cpus: 0.3
|
||||||
|
environment: [RABBITMQ_NODENAME=node@rabbit-amb]
|
||||||
|
hostname: rabbit-amb
|
||||||
|
image: rabbitmq:3
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_rabbit_bridge_amb_red,
|
||||||
|
net_rabbit_bridge_amb_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes: ['~/amb_bridge_data/rabbitmq:/var/lib/rabbitmq/mnesia']
|
||||||
|
redis-amb:
|
||||||
|
command: [redis-server, --appendonly, 'yes']
|
||||||
|
cpus: 0.1
|
||||||
|
hostname: redis-amb
|
||||||
|
image: redis:4
|
||||||
|
logging:
|
||||||
|
driver: syslog
|
||||||
|
options: {tag: '{{.Name}}/{{.ID}}'}
|
||||||
|
mem_limit: 500m
|
||||||
|
networks: [net_db_bridge_amb_red,
|
||||||
|
net_db_bridge_amb_green]
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes: ['~/amb_bridge_data/redis:/data']
|
Loading…
Reference in New Issue
Block a user