Skip to content

Commit

Permalink
Sepolia support merge preprod to main (#309)
Browse files Browse the repository at this point in the history
* Update README.md

* Alternative chains support (#281)

* add new smart contract addresses on goerli and mumbai networks, update settings
* fix dependencies
* update circle checks go version

* update readme with chains list

* test negative scenario

* return goerli cobfig

* remove console metamask error (#286)

should fix #285

* Update README.md

* add console logs on default accounts setup and on sign request

* Test autodeploy flow (#290)

* Update README.md

* add console logs on default accounts setup and on sign request

---------

Co-authored-by: s-pro <[email protected]>

* add more static js to Cache-Control

* Fix preview document bug (#295)

* add more static js to Cache-Control

fixes #292
[add more static js to Cache-Control]
---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: epadalkin <[email protected]>

* fix open prevuew

* Update docker-compose-cloud.override.yml

* Update docker-compose-cloud.override.yml

* The Watchtower service will never be used (#296)

* fix open prevuew

* Update docker-compose-cloud.override.yml

---------

Co-authored-by: Tatiana <[email protected]>
Co-authored-by: Afonina Tatiana <[email protected]>
Co-authored-by: epadalkin <[email protected]>

* add configuration for polygon and update addresses

* update configs atrribute for polygon

* Add polygon configs (#301)

* Update README.md

* add console logs on default accounts setup and on sign request

* add more static js to Cache-Control

* fix open prevuew

* Update docker-compose-cloud.override.yml

* Update docker-compose-cloud.override.yml

* add configuration for polygon and update addresses

* update configs atrribute for polygon

---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: epadalkin <[email protected]>

* Documentation changes, Yarn update (#303)

* Yarn update

* Deployment doc update

* Better enc key generation

* Preprod (#302)

* Update README.md

* Alternative chains support (#281)

* add new smart contract addresses on goerli and mumbai networks, update settings
* fix dependencies
* update circle checks go version

* update readme with chains list

* test negative scenario

* return goerli cobfig

* remove console metamask error (#286)

should fix #285

* Test autodeploy flow (#290)

* Update README.md

* add console logs on default accounts setup and on sign request

---------

Co-authored-by: s-pro <[email protected]>

* Fix preview document bug (#295)

* add more static js to Cache-Control

fixes #292
[add more static js to Cache-Control]
---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: epadalkin <[email protected]>

* The Watchtower service will never be used (#296)

* fix open prevuew

* Update docker-compose-cloud.override.yml

---------

Co-authored-by: Tatiana <[email protected]>
Co-authored-by: Afonina Tatiana <[email protected]>
Co-authored-by: epadalkin <[email protected]>

* Add polygon configs (#301)

* Update README.md

* add console logs on default accounts setup and on sign request

* add more static js to Cache-Control

* fix open prevuew

* Update docker-compose-cloud.override.yml

* Update docker-compose-cloud.override.yml

* add configuration for polygon and update addresses

* update configs atrribute for polygon

---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: epadalkin <[email protected]>

---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: Afonina Tatiana <[email protected]>
Co-authored-by: epadalkin <[email protected]>
Co-authored-by: Tatiana <[email protected]>

* Go 1.18 in CircleCI

* Go 1.18

* Go update

* Go update

* Vue-cli pinned to 4.x

* CircleCI builder

* Add go-bindata install

* Add gopath to CircleCI

* CircleCI config, go install

* Go update, go-ethereum Azimir

* Go 1.20

* make fmt

* Go-bindata again

* README

* Image based test-ui

* Sync nodejs ver in test-ui

* Add libxtst6 library for Cypress

* Add full deps for Cypress

---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: Afonina Tatiana <[email protected]>
Co-authored-by: epadalkin <[email protected]>
Co-authored-by: Tatiana <[email protected]>
Co-authored-by: Oleg Lavrovsky <[email protected]>

* update support for sopelia network in the code and docs

* update go mod

* Light script for Docker

* Network usage notes

* Go modules updated

* Feature/fix web3 method from ascii (#312)

* fix web3.fromAscii to web3.utils.asciiToHex method in document floe

* replace web3 to this.wallet.proxeusFS.web3 as metamask no longer injects web3

* Update from ascii call in web3 (#313)

* fix web3.fromAscii to web3.utils.asciiToHex method in document floe

* replace web3 to this.wallet.proxeusFS.web3 as metamask no longer injects web3

* Update CircleCI build config

---------

Co-authored-by: s-pro <[email protected]>
Co-authored-by: epadalkin <[email protected]>
Co-authored-by: Oleg Lavrovsky <[email protected]>
Co-authored-by: Oleg Lavrovsky <[email protected]>
  • Loading branch information
5 people authored Jun 26, 2023
1 parent d8101ec commit f5c9269
Show file tree
Hide file tree
Showing 63 changed files with 4,222 additions and 4,286 deletions.
40 changes: 20 additions & 20 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ executors:
environment:
PROJECT_ROOT_FOLDER: ~/project
docker:
- image: cimg/go:1.17-node
- image: cimg/go:1.20
docker-image-golang-dependencies:
environment:
PROJECT_ROOT_FOLDER: ~/project
docker:
- image: cimg/go:1.17-node
- image: cimg/go:1.20
- image: proxeus/node-crypto-forex-rates
- image: proxeus/document-service
- image: proxeus/mongo-dev-cluster
Expand All @@ -25,7 +25,7 @@ executors:
jobs:
build-ui:
docker:
- image: cimg/go:1.17-node
- image: cimg/node:16.20
steps:
- checkout
- restore_cache:
Expand Down Expand Up @@ -151,17 +151,17 @@ jobs:
- restore_cache:
keys:
- go-mod-v2-{{ checksum "go.sum" }}
- run: curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
- run: curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
- run:
name: Node.js
command: curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
- run:
name: Yarn
command: curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
- run: echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
- run: sudo apt-get update && sudo apt-get install yarn
- run: sudo apt-get install libgtk2.0-0
- run: sudo apt-get install libnotify-dev
- run: sudo apt-get install libgconf-2-4
- run: sudo apt-get install libnss3
- run: sudo apt-get install libxss1
- run: sudo apt-get install libasound2
- run: sudo apt-get install xvfb
- run:
name: Cypress dependencies
command: sudo apt-get install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb
- run:
name: Test UI
command: make init test-ui
Expand Down Expand Up @@ -309,49 +309,49 @@ workflows:
- test-ui
filters:
branches:
only: master
only: main
- publish-latest:
requires:
- build-docker-image
filters:
branches:
only: master
only: main
- approve-staging:
type: approval
requires:
- build-docker-image
filters:
branches:
only: master
only: main
- publish-staging:
requires:
- approve-staging
filters:
branches:
only: master
only: main
- approve-demo:
type: approval
requires:
- publish-staging
filters:
branches:
only: master
only: main
- publish-demo:
requires:
- approve-demo
filters:
branches:
only: master
only: main
- approve-handelsregister:
type: approval
requires:
- publish-staging
filters:
branches:
only: master
only: main
- publish-handelsregister:
requires:
- approve-handelsregister
filters:
branches:
only: master
only: main
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
SHELL:= /bin/bash
DEBUG_FLAG?=false
GO_VERSION=1.16
GO_VERSION=1.20

ifeq ($(DEBUG), "true")
BINDATA_OPTS="-debug"
Expand Down Expand Up @@ -78,12 +78,12 @@ all: ui server
.PHONY: init
init:
@for d in $(dependencies); do (echo "Checking $$d is installed... " && which $$d ) || ( echo "Please install $$d before continuing" && exit 1 ); done
go get -u golang.org/x/tools/...
go get -u github.com/wadey/gocovmerge
go get -u github.com/go-bindata/go-bindata/v3/...
go install golang.org/x/tools/cmd/goimports
@go version
go install github.com/go-bindata/go-bindata/...
go install github.com/golang/mock/mockgen
go install github.com/wadey/gocovmerge
go install golang.org/x/tools/...
go install golang.org/x/tools/cmd/goimports
go install golang.org/x/tools/cmd/godoc

.PHONY: update
Expand Down
43 changes: 23 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
![](docs/_media/logo.png)

# Proxeus Core
----------------
--------------

Proxeus combines a powerful automation tool with a form builder, document generator and blockchain connection - enabling you to digitize, secure, and tap into the value of data flows. Access the full source code of available modules and extensions [@ProxeusApp](https://github.com/ProxeusApp).

Expand All @@ -13,41 +13,37 @@ Get help to make the most of the platform in the **[User Handbook](https://githu

To learn more about Smart Contracts using Solidity, see the documentation in the [proxeus-contract](https://github.com/ProxeusApp/proxeus-contract).

For detailed information about payment setup (currently unsupported), check the [XES-Payment](docs/xes-payment.md) project.
For detailed information about token setup, check the [XES-Payment](docs/xes-payment.md) project. Software architecture and other details are in the [Developer Manual](https://doc.proxeus.com).

## Installation

Proxeus is primarily a Web application, intended for access with a web browser. The [Proxeus Association](https://proxeus.org) maintains a demo instances you can use to test the product, and can recommend a service provider to help you or your business get set up. There is also a prototype [desktop application](https://github.com/ProxeusApp/storage-app/blob/master/docs/overview.md).

In addition to the developer guidelines below, several "one-click" deployment configurations are available for select cloud platforms:

- [Docker Compose](docker-compose.yml)
- [Docker Compose](docs/docker.md)
- [Linode StackScript](deploy/linode/README.md)
- [DigitalOcean Droplet](deploy/digitalocean/README.md)

Please [contact us](https://github.com/ProxeusApp/community/discussions/3) if you are interested in seeing additional providers on this list.
Join the [Discussions](https://github.com/ProxeusApp/community/discussions/3) if you are interested in seeing additional providers on this list.

## Development
If you wish to build the project form the source code, follow the instructions in [Build all](docs/build_all.md).

Please read the [Developer Manual](https://doc.proxeus.com) to learn more about the Proxeus platform.

If you wish to build the project form the source code, follow the instructions in [Build all](docs/build_all.md)

### Installation using Docker
### Infura and SparkPost

The quickest way to set up Proxeus for development is to use Docker, and the `docker-compose` tool.
The Proxeus platform currently depends on [Infura](https://infura.io/) for blockchain services. Supported chains include:

1. [Install Docker Engine](https://docs.docker.com/install/)
2. [Install docker-compose](https://docs.docker.com/compose/install/)
- ethereum: sepolia
- ethereum: goerli
- ethereum: mainnet
- polygon: mumbai
- polygon: mainnet

See further deployment instructions in [docs/docker](docs/docker.md) to set up your server using Docker.
Create an account to get an API Keys. These keys need to be added to corresponding environment variables, or entered when deploying a "one-click" instance.

### Infura and SparkPost

The Proxeus platform currently depends on [Infura](https://infura.io/) and [SparkPost](https://www.sparkpost.com/)
for Ethereum and email integration respectively. Create an account on those platforms
to get API Keys. These keys need to be added to corresponding environment variables, or
entered when deploying a "one-click" instance.
Proxeus works best with [SparkPost](https://www.sparkpost.com/) for email integration.

Please note that the domain you set up on SparkPost MUST match the **reply-to** e-mail address that you configure in the next step in order to create accounts and receive e-mails on your instance.

Expand All @@ -74,7 +70,14 @@ Like so many projects, this effort has roots in many places. The list can be fou

## Supported Chains

Ethereum

- mainnet
- sepolia
- goerli

Polygon

- mainnet
- polygon-mumbai
- polygon
- mumbai

2 changes: 1 addition & 1 deletion deploy/digitalocean/deploy.sh
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ cd /srv

cat <<END >.env
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS=0x1d3e5c81bf4bc60d41a8fbbb3d1bae6f03a75f71
PROXEUS_ENCRYPTION_SECRET_KEY=`dd bs=32 count=1 if="/dev/urandom" | base64 | tr +/ _.`
PROXEUS_ENCRYPTION_SECRET_KEY=`hexdump -n 16 -e '4/4 "%08X"' /dev/random`
PROXEUS_DATA_DIR=./data
PROXEUS_ALLOW_HTTP=true
PROXEUS_INFURA_API_KEY=$INFURA
Expand Down
6 changes: 3 additions & 3 deletions deploy/linode/stackscript.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,13 +97,13 @@ ufw logging off
## ----------------------------------------------
## Install & configure proxeus

log "Installing Proxeus"
log "Installing Proxeus with demo smart contract"
mkdir -p /srv
cd /srv

cat <<END >.env
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS=0x1d3e5c81bf4bc60d41a8fbbb3d1bae6f03a75f71
PROXEUS_ENCRYPTION_SECRET_KEY=`dd bs=32 count=1 if="/dev/urandom" | base64 | tr +/ _.`
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS=0x66FF4FBF80D4a3C85a54974446309a2858221689
PROXEUS_ENCRYPTION_SECRET_KEY=`hexdump -n 16 -e '4/4 "%08X"' /dev/random`
PROXEUS_DATA_DIR=./data
PROXEUS_ALLOW_HTTP=true
PROXEUS_INFURA_API_KEY=$INFURA
Expand Down
145 changes: 145 additions & 0 deletions docker-compose-light.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
---
# Slim version of the Docker Compose cloud deployment

version: '3.7'

networks:
xes-platform-network:
name: xes-platform-network
reverse-proxy:
name: reverse-proxy
driver: bridge

services:
platform:
image: proxeus/proxeus-core:latest
container_name: xes-platform
depends_on:
- document-service
networks:
- xes-platform-network
- reverse-proxy
restart: unless-stopped
environment:
TZ: Europe/Zurich
PROXEUS_PLATFORM_DOMAIN: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
PROXEUS_DOCUMENT_SERVICE_URL: "http://document-service:2115/"
PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS: "${PROXEUS_BLOCKCHAIN_CONTRACT_ADDRESS}"
PROXEUS_INFURA_API_KEY: "${PROXEUS_INFURA_API_KEY}"
PROXEUS_SPARKPOST_API_KEY: "${PROXEUS_SPARKPOST_API_KEY}"
PROXEUS_ENCRYPTION_SECRET_KEY: "${PROXEUS_ENCRYPTION_SECRET_KEY}"
PROXEUS_EMAIL_FROM: "${PROXEUS_EMAIL_FROM:[email protected]}"
PROXEUS_DATABASE_ENGINE: "${PROXEUS_DATABASE_ENGINE:-storm}"
PROXEUS_DATABASE_URI: "${PROXEUS_DATABASE_URI:-mongodb://root:root@mongo:27017}"
PROXEUS_TEST_MODE: "${PROXEUS_TEST_MODE:-false}"
PROXEUS_ALLOW_HTTP: "${PROXEUS_ALLOW_HTTP:-true}"
# Replace values for reverse-proxy
VIRTUAL_HOST: ${PROXEUS_VIRTUAL_HOST:-proxeus.example.com}
VIRTUAL_PORT: 1323
# Replace values for letsencrypt
LETSENCRYPT_HOST: ${PROXEUS_VIRTUAL_HOST:-proxeus.example.com}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:[email protected]}
ports:
- "1323:1323"
volumes:
- ${PROXEUS_DATA_DIR:-./data}/proxeus-platform/data:/data/hosted
- ${PROXEUS_DATA_DIR:-./data}/proxeus-platform/settings:/root/.proxeus/settings

# Add Nginx reverse-proxy
# https://hub.docker.com/r/jwilder/nginx-proxy/
# Automated Nginx reverse proxy for docker containers
nginx-proxy:
container_name: nginx-proxy
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- nginx-share:/etc/nginx/vhost.d
- nginx-share:/usr/share/nginx/html
- ./nginx-timeout.conf:/etc/nginx/conf.d/nginx-timeout.conf
- ${PROXEUS_DATA_DIR:-./data}/certs:/etc/nginx/certs:ro
- ${DOCKER_SOCK:-/var/run/docker.sock}:/tmp/docker.sock:ro
networks:
- reverse-proxy
labels:
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
restart: unless-stopped

# Add Letsencrypt
# https://hub.docker.com/r/jrcs/letsencrypt-nginx-proxy-companion/
# LetsEncrypt container to use with nginx as proxy
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
depends_on:
- nginx-proxy
networks:
- reverse-proxy
volumes:
- nginx-share:/etc/nginx/vhost.d
- nginx-share:/usr/share/nginx/html
- ${PROXEUS_DATA_DIR:-./data}/certs:/etc/nginx/certs:rw
- ${DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock:ro
restart: unless-stopped

document-service:
image: proxeus/document-service:latest
container_name: xes_document_service
networks:
- xes-platform-network
- reverse-proxy
restart: unless-stopped
environment:
TZ: Europe/Zurich
# Replace values for reverse-proxy
VIRTUAL_HOST: ${DOCUMENT_SERVICE_VIRTUAL_HOST:-proxeus.example.com}
VIRTUAL_PORT: 2115
# Replace values for letsencrypt
LETSENCRYPT_HOST: ${DOCUMENT_SERVICE_VIRTUAL_HOST:-proxeus.example.com}
LETSENCRYPT_EMAIL: ${LETSENCRYPT_EMAIL:[email protected]}
ports:
- "2115:2115"
volumes:
- ${PROXEUS_DATA_DIR:-./data}/document-service/logs:/document-service/logs
- ${PROXEUS_DATA_DIR:-./data}/document-service/fonts:/document-service/fonts

node-mail-sender:
image: proxeus/node-mail-sender:latest
container_name: xes_node-mail-sender
networks:
- xes-platform-network
restart: unless-stopped
environment:
PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
SERVICE_SECRET: secret
SERVICE_PORT: 8013
SERVICE_URL: "${NODE_CRYPTO_RATES_URL:-http://node-mail-sender:8013}"
TZ: Europe/Zurich
PROXEUS_SPARKPOST_API_KEY: "${PROXEUS_SPARKPOST_API_KEY}"
ports:
- "8013:8013"

node-json-sender:
image: proxeus/node-json-sender:latest
container_name: xes_node-json-sender
networks:
- xes-platform-network
restart: unless-stopped
environment:
PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
SERVICE_SECRET: secret
SERVICE_PORT: 8015
SERVICE_URL: "${SERVICE_DOMAIN:-http://node-json-sender:8015}"
JSON_SENDER_URL: http://url:123/endpoint
JSON_SENDER_HEADER_clientid: client_id
JSON_SENDER_HEADER_tenantid: tenant_id
JSON_SENDER_HEADER_secret: secret
JSON_SENDER_HEADER_oauthserverurl: oauth_url
TZ: Europe/Zurich
ports:
- "8015:8015"

volumes:
# Add volume for nginx-proxy and letsencrypt
nginx-share:

2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ services:
restart: unless-stopped
environment:
PROXEUS_INSTANCE_URL: "${PROXEUS_PLATFORM_DOMAIN:-http://xes-platform:1323}"
PROXEUS_ETH_CLIENT_URL: "${PROXEUS_ETH_CLIENT_URL:-https://goerli.infura.io/v3/}"
PROXEUS_ETH_CLIENT_URL: "${PROXEUS_ETH_CLIENT_URL:-https://sepolia.infura.io/v3/}"
PROXEUS_INFURA_API_KEY: ${PROXEUS_INFURA_API_KEY}
SERVICE_SECRET: secret
SERVICE_PORT: 8012
Expand Down
Loading

0 comments on commit f5c9269

Please sign in to comment.