An open API service indexing awesome lists of open source software.

https://github.com/regular/tre-init


https://github.com/regular/tre-init

Last synced: 10 months ago
JSON representation

Awesome Lists containing this project

README

          

# tre-init

tre-init and other command line utilities for Tre.

## Install

```
npm i -g tre-init
```

## tre-init - Create a new ssb network and an initial message tree

```
cd myproject
tre-init
```

This creates the file `.trerc` and the directory `.tre` in the current working directory. `.trerc` serves the same purpose as `~/.ssb/config` in traditional ssb setups. Additionally, it contains ssb message keys of some of the branches that were created by tre-init. A new, random network-id was created, port numbers also are random (above 50000 and below 65000)

Data is stored in `.tre`, it replaces `~/.ssb` in traditional ssb setups.

In case they did not exist before, new keypairs were created in `.tre/secret` and `.tre/browser-keys`

## Run sbot with the local config

`tre-bot` is a simple wrapper around `sbot` (scuttlebot). It instructs sbot to use the local config. You can run it from anywhere inside your project tree, it will pick up the closest `.trerc` file.

```
tre-bot server
```

## Create a pub

```
tre-pub-config | ssh myserver.com 'mkdir -p .myappname && cat - > .myappname/config'
# run `ssb_appname=myappname sbot server` on your server
ssh korn 'ssb_appname=myappname sbot getAddress' > .tre/remotes
# edit .tre/remotes so that it looks something like
{
"myserver": "net:138.231.111.84:42632~shs:6odsaDg5OpsFlfa7LLSLxikxF5ze4DN03bAz6vrz7uMQ="
}

## Crete an invite code

```
tre-invite > invite.json
```

This invite code can be pasted into bay-of-plenty. It will instruct the pub to follow the user, the user to follow the pub and you, and give the user a name you can specify in invite.json.

## deploy an application

```
tre-apps-deploy
```

browserifies source.js, uploads the result as a blob and publishes a message of type `webapp`. If a previous webapp exists and was deployed from a repo with the same `origin remote and from the same git branch, and by the same author, that pre-existing webapp is updated. (a new revision of that webapp is posted).

Here's an example message piblished by `tre-apps-deploy`

```
{
"previous": "%GkSmUhYX7jM5rzHobHlUHTzgqc9LKxM8T5eRwuJW624=.sha256",
"sequence": 28,
"author": "@h8sMNhOo43PP8HX+9B3PCJPchqxhpPXgzwFG7HIaNbc=.ed25519",
"timestamp": 1547036143789,
"hash": "sha256",
"content": {
"type": "webapp",
"name": "tre-init",
"description": "Initialize and test a new ssb network",
"keywords": [
"ssb",
"tre"
],
"config": {
"tre": {
"branches": {
"root": "%eMe2hfQ+gI4NKQJzoycSQmefvSLKkwmdXBGj6JRQHwM=.sha256",
"about": "%LQu4ZrTcuS2JhiYGAwk1Lg+Wee5M7OH74XnoSVZ1TdQ=.sha256",
"machines": "%IPYCOlf24z5BeN9BSGPZfWpDIKptDbeYDnEryKldxew=.sha256",
"prototypes": "%38ZbMKMoC4oVXeTZ+bx3objqO8SL3ZYXz6wLBprnmd8=.sha256",
"webapps": "%lkexgs1dnCCvkOjbRyJAUnWwbk1igt4DqOhBe9U3klY=.sha256",
"trash": "%152k3CQRaeK7K+hZy41QCo8aRZjaUg6SyfgG8FeGeLo=.sha256"
}
}
},
"codeBlob": "&IBbpG0szrPmtzbPwXKN0ZijQ9KeIJpzh0JYnIrZx6SE=.sha256",
"lockBlob": "&iwEhkt7JCD9tRnFzkAgRvgdeARj450Db8whC2QMbhqU=.sha256",
"commit": "v1.6.0-6-g01484fd",
"repository": "git@github.com:regular/tre-init.git",
"repositoryBranch": "master",
"revisionBranch": "%GkSmUhYX7jM5rzHobHlUHTzgqc9LKxM8T5eRwuJW624=.sha256",
"revisionRoot": "%39L6vcMxCbcDrRUJyUWSJd2oJ5mA55aG0ecNNijlSaw=.sha256",
"change-log": [
"01484fd5aa5c0376e02df540dbee7d63a7239992 Add tre-apps-deploy to Readme"
]
},
"signature": "rtkZoJkNRDoWUi39gU+LMmVfkOODLdLM/B7sSnbpXNG02/H21DhNazmEmK5ZbUJrEw5R6HgBJLaSY0G+shbUCw==.sig.ed25519"
}
```
---

Licsense: AGPLv3 - Copyright 2019 Jan Boelsche