From 080d4833b446fcc75e3d08f335c356159ad2f3ad Mon Sep 17 00:00:00 2001 From: dapplion Date: Fri, 15 Nov 2019 20:40:05 +0100 Subject: [PATCH 1/8] First version bump --- dappnode_package.json | 2 +- docker-compose.yml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dappnode_package.json b/dappnode_package.json index cdd5afb..407e330 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -1,6 +1,6 @@ { "name": "trustlines.dnp.dappnode.eth", - "version": "0.0.1", + "version": "0.1.0", "upstreamVersion": "release4044", "shortDescription": "Financial inclusion through OS decentralized systems", "description": "The Trustlines Protocol aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The Trustlines Protocol is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure", diff --git a/docker-compose.yml b/docker-compose.yml index b6d714d..658af07 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,14 @@ -version: '3.4' +version: "3.4" services: trustlines.dnp.dappnode.eth: - image: 'trustlines.dnp.dappnode.eth:0.0.1' + image: "trustlines.dnp.dappnode.eth:0.1.0" build: ./build - ports: - - 30300 - - 30300/udp + ports: + - "30300" + - "30300/udp" volumes: - - 'data:/data' - - 'config:/config/custom' + - "data:/data" + - "config:/config/custom" environment: - ROLE=observer - ADDRESS= @@ -16,4 +16,4 @@ services: - PARITY_ARGS= volumes: data: {} - config: {} \ No newline at end of file + config: {} From 483bcdd8156551ec51388085a601882f53a7b887 Mon Sep 17 00:00:00 2001 From: dapplion Date: Fri, 15 Nov 2019 23:54:31 +0100 Subject: [PATCH 2/8] Add setup wizard Fix keystore path in setup wizard Fix setup schema --- dappnode_package.json | 67 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/dappnode_package.json b/dappnode_package.json index cdd5afb..a3c8b95 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -26,6 +26,73 @@ "30300/udp" ] }, + "setupSchema": { + "description": "Welcome to DAppNode's Trustlines Network configuration wizard!\n\nWe'll help you set up your node according to your needs, just follow the steps below:", + "type": "object", + "required": [ + "role" + ], + "properties": { + "role": { + "target": { + "type": "environment", + "name": "ROLE" + }, + "type": "string", + "title": "Node role", + "description": "The Trustlines Network node can operate in three different modes:\n\n 1. **Observer** - for a node without an address that just wants to monitor the activity in the network,\n 2. **Participant** - for those nodes who have/want an address and want to actively broadcast transactions, and\n 3. **Validator** - for those who successfully bid for a [Validator slot](https://medium.com/trustlines-foundation/trustlines-validator-spotlight-deep-dive-on-rewards-economics-and-opportunities-for-validators-ec75f81088a6) during Trustlines Foundation's Validator Auction and will be validating the network.\n\n\nSelect your preferred option on the drop-down menu below. Please note you won't be able to Validate if your address was not whitelisted at the end of the Validator Slots auction.", + "default": "observer", + "enum": [ + "observer", + "participant", + "validator" + ] + }, + "keystore": { + "target": { + "type": "fileUpload", + "path": "/config/custom/keys/Trustlines/main-keystore.json" + }, + "type": "string", + "format": "data-url", + "title": "Keystore", + "description": "_(Only for participants and validators)_: Your Keystore/JSON file containing the private key that you want to use for this node" + }, + "address": { + "target": { + "type": "environment", + "name": "ADDRESS" + }, + "type": "string", + "title": "Public Address", + "description": "(Only for participants and validators)_: Public address from the keystore.\nFor validators, you will use this address to seal blocks so it must be an authorized validator address, you can check the valid addresses in [this list](https://github.com/trustlines-protocol/blockchain/blob/1c664ff7d28998b7070c9edb3b325062a5365aad/chain/tlbc/tlbc-spec.json#L11)", + "pattern": "^0x[a-fA-F0-9]{40}$", + "customErrors": { + "pattern": "Must be a valid address (0x1fd16a...)" + } + }, + "password": { + "target": { + "type": "environment", + "name": "PASSWORD" + }, + "type": "string", + "title": "Password", + "description": "_(Only for participants and validators)_: Password to unlock the uploaded keystore" + } + }, + "dependencies": { + "keystore": [ + "address", + "password" + ] + } + }, + "setupUiSchema": { + "password": { + "ui:widget": "password" + } + }, "requirements": { "minimumDappnodeVersion": "0.2.10" }, From c109a30cda83d267fb9052d2796234a3b3ef8bc3 Mon Sep 17 00:00:00 2001 From: dapplion Date: Mon, 18 Nov 2019 17:09:28 +0100 Subject: [PATCH 3/8] Update directory type release --- dappnode_package.json | 91 +------------------------------------------ disclaimer.md | 15 +++++++ docker-compose.yml | 6 +-- releases.json | 6 +-- setup-target.json | 18 +++++++++ setup-ui.json | 11 ++++++ setup.schema.json | 52 +++++++++++++++++++++++++ 7 files changed, 103 insertions(+), 96 deletions(-) create mode 100644 disclaimer.md create mode 100644 setup-target.json create mode 100644 setup-ui.json create mode 100644 setup.schema.json diff --git a/dappnode_package.json b/dappnode_package.json index a3c8b95..3f4eb7b 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -6,93 +6,6 @@ "description": "The Trustlines Protocol aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The Trustlines Protocol is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure", "avatar": "/ipfs/QmcpEAc5CsaSD5jc1rkmiGtjtpxDaWDMHUWWh2tUgXFhDC", "type": "service", - "chain": "ethereum", - "image": { - "path": "trustlines.dnp.dappnode.eth_0.0.1.tar.xz", - "hash": "/ipfs/QmQm8jkGDtefmVmtBBGY5HJ9cMS5EoHKA53cXWXgeK7yyD", - "size": 25629780, - "restart": "always", - "volumes": [ - "data:/data", - "config:/config/custom" - ], - "environment": [ - "ROLE=observer", - "ADDRESS", - "PASSWORD" - ], - "ports": [ - "30300", - "30300/udp" - ] - }, - "setupSchema": { - "description": "Welcome to DAppNode's Trustlines Network configuration wizard!\n\nWe'll help you set up your node according to your needs, just follow the steps below:", - "type": "object", - "required": [ - "role" - ], - "properties": { - "role": { - "target": { - "type": "environment", - "name": "ROLE" - }, - "type": "string", - "title": "Node role", - "description": "The Trustlines Network node can operate in three different modes:\n\n 1. **Observer** - for a node without an address that just wants to monitor the activity in the network,\n 2. **Participant** - for those nodes who have/want an address and want to actively broadcast transactions, and\n 3. **Validator** - for those who successfully bid for a [Validator slot](https://medium.com/trustlines-foundation/trustlines-validator-spotlight-deep-dive-on-rewards-economics-and-opportunities-for-validators-ec75f81088a6) during Trustlines Foundation's Validator Auction and will be validating the network.\n\n\nSelect your preferred option on the drop-down menu below. Please note you won't be able to Validate if your address was not whitelisted at the end of the Validator Slots auction.", - "default": "observer", - "enum": [ - "observer", - "participant", - "validator" - ] - }, - "keystore": { - "target": { - "type": "fileUpload", - "path": "/config/custom/keys/Trustlines/main-keystore.json" - }, - "type": "string", - "format": "data-url", - "title": "Keystore", - "description": "_(Only for participants and validators)_: Your Keystore/JSON file containing the private key that you want to use for this node" - }, - "address": { - "target": { - "type": "environment", - "name": "ADDRESS" - }, - "type": "string", - "title": "Public Address", - "description": "(Only for participants and validators)_: Public address from the keystore.\nFor validators, you will use this address to seal blocks so it must be an authorized validator address, you can check the valid addresses in [this list](https://github.com/trustlines-protocol/blockchain/blob/1c664ff7d28998b7070c9edb3b325062a5365aad/chain/tlbc/tlbc-spec.json#L11)", - "pattern": "^0x[a-fA-F0-9]{40}$", - "customErrors": { - "pattern": "Must be a valid address (0x1fd16a...)" - } - }, - "password": { - "target": { - "type": "environment", - "name": "PASSWORD" - }, - "type": "string", - "title": "Password", - "description": "_(Only for participants and validators)_: Password to unlock the uploaded keystore" - } - }, - "dependencies": { - "keystore": [ - "address", - "password" - ] - } - }, - "setupUiSchema": { - "password": { - "ui:widget": "password" - } - }, "requirements": { "minimumDappnodeVersion": "0.2.10" }, @@ -110,9 +23,7 @@ "contributors": [ "Eduardo Antuña (https://github.com/eduadiez)" ], - "categories": [ - "Blockchain" - ], + "categories": ["Blockchain"], "links": { "homepage": "https://github.com/dappnode/DAppNodePackage-trustlines#readme", "trustlines": "https://trustlines.network", diff --git a/disclaimer.md b/disclaimer.md new file mode 100644 index 0000000..ec5529f --- /dev/null +++ b/disclaimer.md @@ -0,0 +1,15 @@ +This software is experimental, presented 'as is' and inherently carries risks. By installing it, you acknowledge that DAppNode Association has done its best to mitigate these risks and accept to waive any liability or responsibility for DAppNode in case of any shortage, discrepancy, damage, loss or destruction of any digital asset managed within this DAppNode package. + +This package stores private keys, which will be stored in your DAppNode. Neither DAppNode Association nor the developers of this software can have access to your private key, nor can help you recover it if you lose it. + +You are solely responsible for keeping your private keys and password safe and to perform secure backups, as well as to restrict access to your computer and other equipment. To the extent permitted by applicable law, you agree to be responsible for all activities that have been conducted from your account. You must take all necessary steps to ensure that your private key, password, and recovery phrase remain confidential and secured. + +This is an Alpha version of experimental open source software released as a test version under an MIT license and may contain errors and/or bugs. No guarantee or representations whatsoever is made regarding its suitability (or its use) for any purpose or regarding its compliance with any applicable laws and regulations. Use of the software is at your own risk and discretion and by using the software you acknowledge that you have read this disclaimer, understand its contents, assume all risk related thereto and hereby release, waive, discharge and covenant not to sue DApppNode Association, NodeHodlers nor Brainbot Labs Establishment or any officers, employees or affiliates from and for any direct or indirect liability resulting from the use of the software as permissible by applicable laws and regulations. + +**Privacy Warning** + +Please be aware, that by using the Trustlines Network client, your address and all the transactions relating to it will be stored on the Trustlines Network chain, i.e. on servers of Trustlines node operators and ergo are to a certain extent publicly available. Data present in the Trustlines chain is very unlikely to be able to be changed, removed or deleted from the public arena. + +**For validators** + +Note that receiving block rewards and transaction fees is dependent on a community of validators emerging and the potential users of the Trustlines Blockchain. The Trustlines Foundation cannot guarantee that a Trustlines Blockchain including the chain spec as proposed by the Trustlines Foundation actually emerges out of the actions of these third party stakeholders. Hence, participating in the auction and/or running a validator node does not entail a right or an entitlement in any way whatsoever to either becoming and/or remaining a validator or receiving block rewards and/or transaction fees. diff --git a/docker-compose.yml b/docker-compose.yml index b6d714d..27dcc1d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,8 +3,8 @@ services: trustlines.dnp.dappnode.eth: image: 'trustlines.dnp.dappnode.eth:0.0.1' build: ./build - ports: - - 30300 + ports: + - '30300' - 30300/udp volumes: - 'data:/data' @@ -16,4 +16,4 @@ services: - PARITY_ARGS= volumes: data: {} - config: {} \ No newline at end of file + config: {} diff --git a/releases.json b/releases.json index a373f4b..7da5e9d 100644 --- a/releases.json +++ b/releases.json @@ -1,9 +1,9 @@ { "0.0.1": { - "hash": "/ipfs/QmNwuhjH7Wv3m5y9wgLnXpzNsGPmasUi9PHRBtytRdaBYP", - "type": "manifest", + "hash": "/ipfs/QmaoCZkST5pHfbjVx5yR5bJyhXSrNrdmYNhkND1LCimii8", + "type": "directory", "uploadedTo": { - "dappnode": "Thu, 26 Sep 2019 14:16:44 GMT" + "dappnode": "Mon, 18 Nov 2019 15:49:18 GMT" } } } \ No newline at end of file diff --git a/setup-target.json b/setup-target.json new file mode 100644 index 0000000..684c159 --- /dev/null +++ b/setup-target.json @@ -0,0 +1,18 @@ +{ + "role": { + "type": "environment", + "name": "ROLE" + }, + "keystore": { + "type": "fileUpload", + "path": "/config/custom/keys/Trustlines/main-keystore.json" + }, + "keystoreAddress": { + "type": "environment", + "name": "ADDRESS" + }, + "keystorePassword": { + "type": "environment", + "name": "PASSWORD" + } +} diff --git a/setup-ui.json b/setup-ui.json new file mode 100644 index 0000000..4612c22 --- /dev/null +++ b/setup-ui.json @@ -0,0 +1,11 @@ +{ + "ui:order": ["role", "*"], + "keystorePassword": { + "ui:widget": "password" + }, + "keystoreAddress": { + "errorMessages": { + "pattern": "Must be a valid address (0x1fd16a...)" + } + } +} diff --git a/setup.schema.json b/setup.schema.json new file mode 100644 index 0000000..401e9f8 --- /dev/null +++ b/setup.schema.json @@ -0,0 +1,52 @@ +{ + "description": "Welcome to DAppNode's Trustlines Network configuration wizard!\n\nWe'll help you set up your node according to your needs, just follow the steps below:", + "type": "object", + "properties": { + "role": { + "type": "string", + "title": "Node role", + "description": "The Trustlines Network node can operate in three different modes:\n\n 1. **Observer** - for a node without an address that just wants to monitor the activity in the network,\n 2. **Participant** - for those nodes who have/want an address and want to actively broadcast transactions, and\n 3. **Validator** - for those who successfully bid for a [Validator slot](https://medium.com/trustlines-foundation/trustlines-validator-spotlight-deep-dive-on-rewards-economics-and-opportunities-for-validators-ec75f81088a6) during Trustlines Foundation's Validator Auction and will be validating the network.\n\n\nSelect your preferred option on the drop-down menu below. Please note you won't be able to Validate if your address was not whitelisted at the end of the Validator Slots auction.", + "enum": ["observer", "participant", "validator"], + "default": "observer" + } + }, + "required": ["role"], + "dependencies": { + "role": { + "oneOf": [ + { + "properties": { + "role": { + "enum": ["observer"] + } + } + }, + { + "properties": { + "role": { + "enum": ["participant", "validator"] + }, + "keystore": { + "type": "string", + "format": "data-url", + "title": "Keystore", + "description": "Your Keystore/JSON file containing the private key that you want to use for this node" + }, + "keystoreAddress": { + "type": "string", + "title": "Public Address", + "description": "Public address from the keystore.\nFor validators, you will use this address to seal blocks so it must be an authorized validator address, you can check the valid addresses in [this list](https://github.com/trustlines-protocol/blockchain/blob/1c664ff7d28998b7070c9edb3b325062a5365aad/chain/tlbc/tlbc-spec.json#L11)", + "pattern": "^0x[a-fA-F0-9]{40}$" + }, + "keystorePassword": { + "type": "string", + "title": "Password", + "description": "Password to unlock the uploaded keystore" + } + }, + "required": ["keystore", "keystoreAddress", "keystorePassword"] + } + ] + } + } +} From 1af207e089f14b814c551e61ab9945f0a8f97ad0 Mon Sep 17 00:00:00 2001 From: dapplion Date: Thu, 21 Nov 2019 12:45:08 +0100 Subject: [PATCH 4/8] Fix metadata --- README.md | 25 ++++-------------------- avatar-min.png => avatar-trustlines.png | Bin dappnode_package.json | 3 ++- disclaimer.md | 4 ---- 4 files changed, 6 insertions(+), 26 deletions(-) rename avatar-min.png => avatar-trustlines.png (100%) diff --git a/README.md b/README.md index 92af653..5608aad 100644 --- a/README.md +++ b/README.md @@ -6,27 +6,10 @@ The official documentation of [Trustlines Network](https://trustlines.network/) Installing the Trustlines Network DAppNode package you can be observer ( a node without an account) , participant ( a node with an address) or validator in case you are a Trustlines validator. -## How to setup my node as observer - -Just by installing the package this will be the default mode, you don't need to do anything else. - -## How to setup my node as participant - -Please follow this steps after the package installation: - -* Go to File Manager and upload a keystore file with the address you want to use -* Go to the config tab and type the address of the keystore you uploaded, its password and the word participant in the "Role" field -* Hit update environmentvariables - - - - - - - - - - +## License +This project is licensed under the GNU General Public License v3.0 - see the [LICENSE](LICENSE) file for details +## Note +This is early stage software diff --git a/avatar-min.png b/avatar-trustlines.png similarity index 100% rename from avatar-min.png rename to avatar-trustlines.png diff --git a/dappnode_package.json b/dappnode_package.json index daf66bb..a74cda2 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -25,7 +25,8 @@ ], "categories": ["Blockchain"], "links": { - "homepage": "https://github.com/dappnode/DAppNodePackage-trustlines#readme", + "homepage": "https://trustlines.network", + "readme": "https://github.com/dappnode/DAppNodePackage-trustlines#readme", "trustlines": "https://trustlines.network", "explorer": "https://explorelaika.trustlines.foundation" }, diff --git a/disclaimer.md b/disclaimer.md index ec5529f..fe1b4e4 100644 --- a/disclaimer.md +++ b/disclaimer.md @@ -9,7 +9,3 @@ This is an Alpha version of experimental open source software released as a test **Privacy Warning** Please be aware, that by using the Trustlines Network client, your address and all the transactions relating to it will be stored on the Trustlines Network chain, i.e. on servers of Trustlines node operators and ergo are to a certain extent publicly available. Data present in the Trustlines chain is very unlikely to be able to be changed, removed or deleted from the public arena. - -**For validators** - -Note that receiving block rewards and transaction fees is dependent on a community of validators emerging and the potential users of the Trustlines Blockchain. The Trustlines Foundation cannot guarantee that a Trustlines Blockchain including the chain spec as proposed by the Trustlines Foundation actually emerges out of the actions of these third party stakeholders. Hence, participating in the auction and/or running a validator node does not entail a right or an entitlement in any way whatsoever to either becoming and/or remaining a validator or receiving block rewards and/or transaction fees. From c2ebdd2d7b211e1c3b56cb5cdc4ed0f502ce3939 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Antu=C3=B1a?= Date: Thu, 21 Nov 2019 12:48:56 +0100 Subject: [PATCH 5/8] Migrate only observer --- build/Dockerfile | 10 ++----- build/start_trustlines.sh | 58 --------------------------------------- dappnode_package.json | 12 ++------ docker-compose.yml | 21 +++++++------- releases.json | 6 ++-- setup-target.json | 18 ------------ setup-ui.json | 11 -------- setup.schema.json | 52 ----------------------------------- 8 files changed, 19 insertions(+), 169 deletions(-) delete mode 100755 build/start_trustlines.sh delete mode 100644 setup-target.json delete mode 100644 setup-ui.json delete mode 100644 setup.schema.json diff --git a/build/Dockerfile b/build/Dockerfile index 7b99e72..e5d78b0 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,8 +1,4 @@ -FROM trustlines/tlbc-testnet:release4044 - -WORKDIR /config/custom/keys/Trustlines - -ADD start_trustlines.sh /usr/local/bin/start_trustlines - -ENTRYPOINT [ "start_trustlines" ] +#FROM trustlines/tlbc-node:release20421 +FROM trustlines/tlbc-node@sha256:c78147db3f7e477c9462f41f7f4de0dd6c738089abda771b55799df66c5da4e4 +ENTRYPOINT /home/parity/parity_wrapper.sh --parity-args ${PARITY_ARGS} \ No newline at end of file diff --git a/build/start_trustlines.sh b/build/start_trustlines.sh deleted file mode 100755 index a766964..0000000 --- a/build/start_trustlines.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash - -PASSWORD_PATH=/config/custom/pass.pwd -ACCOUNTS_PATH=/config/custom/keys/Trustlines/ - -print_banner() { - echo "#####################################################################################################" - echo "## Trustlines not configured to start! ##" - echo "#####################################################################################################" -} - -## If the password is set we save it -if [ -n "${PASSWORD}" ]; then - echo ${PASSWORD} > ${PASSWORD_PATH} -fi - -if [ "${ROLE}" != "" ] && [ "${ROLE}" != "observer" ] && [ "${ROLE}" != "participant" ] && [ "${ROLE}" != "validator" ];then - print_banner - echo "## You've selected an invalid role: ${ROLE}" - echo "## The valid roles are: observer, participant and validator" - echo "##" - echo "## observer" - echo "## - Is the default role" - echo "## - Does only watch for propagated blocks." - echo "## - Non arguments required at all." - echo "##" - echo "## participant" - echo "## - Connects to an account to being able to create transactions." - echo "## - Requires the address argument." - echo "## - Needs the password file and the key-set." - echo "##" - echo "## validator" - echo "## - Connect as authority to the network for validating blocks." - echo "## - Requires the address argument." - echo "## - Needs the password file and the key-set." - echo "#####################################################################################################" - while true; do sleep 5; done - -fi - -# Obeserver is used in case it is set or is empty since it is the default role -# it doesn't need a password or an address -if [ ! -n "${ROLE}" ] || [ "${ROLE}" = "observer" ]; then - /home/parity/parity_wrapper.sh --parity-args $PARITY_ARGS -elif [ ! -f "${PASSWORD_PATH}" ] || [ ! -n "${ADDRESS}" ];then - print_banner - echo "# You need to configure a password and an address to be able to start trustlines as a ${ROLE} " - echo "#####################################################################################################" - while true; do sleep 5; done -elif [ ! "$(find "$ACCOUNTS_PATH" -mindepth 1 -not -name "address_book.json" -print -quit 2>/dev/null)" ]; then - print_banner - echo "##" - echo "# You must upload your keystore file to: ${ACCOUNTS_PATH}" - echo "#####################################################################################################" - while true; do sleep 5; done -else - /home/parity/parity_wrapper.sh --role $ROLE --address $ADDRESS --parity-args $PARITY_ARGS -fi \ No newline at end of file diff --git a/dappnode_package.json b/dappnode_package.json index daf66bb..ee640eb 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -1,20 +1,13 @@ { "name": "trustlines.dnp.dappnode.eth", "version": "0.1.0", - "upstreamVersion": "release4044", + "upstreamVersion": "release20421", "shortDescription": "Financial inclusion through OS decentralized systems", "description": "The Trustlines Protocol aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The Trustlines Protocol is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure", - "avatar": "/ipfs/QmcpEAc5CsaSD5jc1rkmiGtjtpxDaWDMHUWWh2tUgXFhDC", "type": "service", "requirements": { - "minimumDappnodeVersion": "0.2.10" + "minimumDappnodeVersion": "0.2.19" }, - "backup": [ - { - "name": "config", - "path": "/config" - } - ], "style": { "featuredBackground": "linear-gradient(67deg, #140a0a, #512424)", "featuredColor": "white" @@ -27,6 +20,7 @@ "links": { "homepage": "https://github.com/dappnode/DAppNodePackage-trustlines#readme", "trustlines": "https://trustlines.network", + "netstats": "https://netstats.tlbc.trustlines.foundation", "explorer": "https://explorelaika.trustlines.foundation" }, "repository": { diff --git a/docker-compose.yml b/docker-compose.yml index 658af07..9d6c962 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,19 +1,18 @@ -version: "3.4" +version: '3.4' services: trustlines.dnp.dappnode.eth: - image: "trustlines.dnp.dappnode.eth:0.1.0" + image: 'trustlines.dnp.dappnode.eth:0.1.0' build: ./build ports: - - "30300" - - "30300/udp" + - '30302:30302' + - '30302:30302/udp' volumes: - - "data:/data" - - "config:/config/custom" + - 'tlbc:/data' + - 'shared:/shared' environment: - - ROLE=observer - - ADDRESS= - - PASSWORD= - PARITY_ARGS= + restart: unless-stopped volumes: - data: {} - config: {} + tlbc: {} + shared: + name: trustlines_shared diff --git a/releases.json b/releases.json index 7da5e9d..b230c00 100644 --- a/releases.json +++ b/releases.json @@ -1,9 +1,9 @@ { - "0.0.1": { - "hash": "/ipfs/QmaoCZkST5pHfbjVx5yR5bJyhXSrNrdmYNhkND1LCimii8", + "0.1.0": { + "hash": "/ipfs/Qme12JvBjmxXPQSu7BiB22AsEqCGJ94dABDQJwA6WXekRy", "type": "directory", "uploadedTo": { - "dappnode": "Mon, 18 Nov 2019 15:49:18 GMT" + "dappnode": "Thu, 21 Nov 2019 11:43:06 GMT" } } } \ No newline at end of file diff --git a/setup-target.json b/setup-target.json deleted file mode 100644 index 684c159..0000000 --- a/setup-target.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "role": { - "type": "environment", - "name": "ROLE" - }, - "keystore": { - "type": "fileUpload", - "path": "/config/custom/keys/Trustlines/main-keystore.json" - }, - "keystoreAddress": { - "type": "environment", - "name": "ADDRESS" - }, - "keystorePassword": { - "type": "environment", - "name": "PASSWORD" - } -} diff --git a/setup-ui.json b/setup-ui.json deleted file mode 100644 index 4612c22..0000000 --- a/setup-ui.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "ui:order": ["role", "*"], - "keystorePassword": { - "ui:widget": "password" - }, - "keystoreAddress": { - "errorMessages": { - "pattern": "Must be a valid address (0x1fd16a...)" - } - } -} diff --git a/setup.schema.json b/setup.schema.json deleted file mode 100644 index 401e9f8..0000000 --- a/setup.schema.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "description": "Welcome to DAppNode's Trustlines Network configuration wizard!\n\nWe'll help you set up your node according to your needs, just follow the steps below:", - "type": "object", - "properties": { - "role": { - "type": "string", - "title": "Node role", - "description": "The Trustlines Network node can operate in three different modes:\n\n 1. **Observer** - for a node without an address that just wants to monitor the activity in the network,\n 2. **Participant** - for those nodes who have/want an address and want to actively broadcast transactions, and\n 3. **Validator** - for those who successfully bid for a [Validator slot](https://medium.com/trustlines-foundation/trustlines-validator-spotlight-deep-dive-on-rewards-economics-and-opportunities-for-validators-ec75f81088a6) during Trustlines Foundation's Validator Auction and will be validating the network.\n\n\nSelect your preferred option on the drop-down menu below. Please note you won't be able to Validate if your address was not whitelisted at the end of the Validator Slots auction.", - "enum": ["observer", "participant", "validator"], - "default": "observer" - } - }, - "required": ["role"], - "dependencies": { - "role": { - "oneOf": [ - { - "properties": { - "role": { - "enum": ["observer"] - } - } - }, - { - "properties": { - "role": { - "enum": ["participant", "validator"] - }, - "keystore": { - "type": "string", - "format": "data-url", - "title": "Keystore", - "description": "Your Keystore/JSON file containing the private key that you want to use for this node" - }, - "keystoreAddress": { - "type": "string", - "title": "Public Address", - "description": "Public address from the keystore.\nFor validators, you will use this address to seal blocks so it must be an authorized validator address, you can check the valid addresses in [this list](https://github.com/trustlines-protocol/blockchain/blob/1c664ff7d28998b7070c9edb3b325062a5365aad/chain/tlbc/tlbc-spec.json#L11)", - "pattern": "^0x[a-fA-F0-9]{40}$" - }, - "keystorePassword": { - "type": "string", - "title": "Password", - "description": "Password to unlock the uploaded keystore" - } - }, - "required": ["keystore", "keystoreAddress", "keystorePassword"] - } - ] - } - } -} From a563eba929f4f87668c0f79cd683241e041eaf7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Antu=C3=B1a?= Date: Thu, 21 Nov 2019 12:51:32 +0100 Subject: [PATCH 6/8] Fix metadata --- dappnode_package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/dappnode_package.json b/dappnode_package.json index 9be27bb..f5ff438 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -20,9 +20,8 @@ "links": { "homepage": "https://trustlines.network", "readme": "https://github.com/dappnode/DAppNodePackage-trustlines#readme", - "trustlines": "https://trustlines.network", "netstats": "https://netstats.tlbc.trustlines.foundation", - "explorer": "https://explorelaika.trustlines.foundation" + "explorer": "https://explore.tlbc.trustlines.foundation" }, "repository": { "type": "git", From 1659caa890bc770dbdccb8736951d70aaffb31d5 Mon Sep 17 00:00:00 2001 From: dapplion Date: Thu, 21 Nov 2019 14:50:27 +0100 Subject: [PATCH 7/8] Better description --- README.md | 6 ++++++ dappnode_package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5608aad..d81ac0e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # DAppNodePackage-trustlines +Trustlines node to participate and securitize the network. + +Validators should use the Validator package https://github.com/dappnode/DAppNodePackage-trustlines-validator instead of this one. + +## Trustlines + The [Trustlines Protocol](https://trustlines.network/) aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The [Trustlines Protocol](https://trustlines.network/) is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure. The official documentation of [Trustlines Network](https://trustlines.network/) can be found [here](https://docs.trustlines.network/) diff --git a/dappnode_package.json b/dappnode_package.json index f5ff438..33c15e8 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "upstreamVersion": "release20421", "shortDescription": "Financial inclusion through OS decentralized systems", - "description": "The Trustlines Protocol aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The Trustlines Protocol is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure", + "description": "Trustlines node to participate and securitize the network.\n\nValidators should install the Validator package http://my.dappnode/#/installer/trustlines-validator.dnp.dappnode.eth instead of this one.\n\nThe Trustlines Protocol aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The Trustlines Protocol is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure", "type": "service", "requirements": { "minimumDappnodeVersion": "0.2.19" From d1dac7eb2067fbd3df848961fbabbeb87603518f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Antu=C3=B1a?= Date: Thu, 21 Nov 2019 15:17:38 +0100 Subject: [PATCH 8/8] Added final dependency and chain parameter --- dappnode_package.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dappnode_package.json b/dappnode_package.json index f5ff438..1576498 100644 --- a/dappnode_package.json +++ b/dappnode_package.json @@ -5,6 +5,7 @@ "shortDescription": "Financial inclusion through OS decentralized systems", "description": "The Trustlines Protocol aims to provide the service of “transfer of value” without actually transferring value. This can be accomplished by leveraging networks of mutual-trust. The Trustlines Protocol is being built to support a range of use cases by leveraging existing networks of mutual trust and mapping trust-based relationships onto trustless infrastructure", "type": "service", + "chain": "ethereum", "requirements": { "minimumDappnodeVersion": "0.2.19" }, @@ -30,5 +31,10 @@ "bugs": { "url": "https://github.com/dappnode/DAppNodePackage-trustlines/issues" }, - "license": "GPL-3.0" + "license": "GPL-3.0", + "runOrder": ["trustlines.dnp.dappnode.eth","trustlines-monitor.dnp.dappnode.eth"], + "dependencies" : { + "trustlines-monitor.dnp.dappnode.eth":"latest" + } } +