From 277bc4b37d27eb0e1d1430899c5e7dda8af83cd6 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 02:17:24 -0400 Subject: [PATCH 01/14] Replace Electrs with Fulcrum --- Dockerfile | 6 ++--- README.md | 10 ++++----- apps/backend/app.js | 4 ++-- apps/backend/package.json | 2 +- apps/backend/routes/v1/electrs.js | 6 ++--- apps/backend/services/electrs.js | 14 ++++++------ apps/backend/utils/const.js | 2 +- apps/frontend/package.json | 2 +- apps/frontend/public/index.html | 2 +- apps/frontend/src/App.vue | 2 +- .../src/components/ConnectionInformation.vue | 12 +++++----- apps/frontend/src/components/Loading.vue | 2 +- apps/frontend/src/store/index.js | 4 ++-- apps/frontend/src/store/modules/electrs.js | 6 ++--- apps/frontend/src/views/Home.vue | 12 +++++----- docker-compose.yml | 22 +++++++++---------- package-lock.json | 16 +++++++------- package.json | 8 +++---- 18 files changed, 66 insertions(+), 66 deletions(-) diff --git a/Dockerfile b/Dockerfile index adb3595..33bbca4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # Build Stage -FROM node:16-buster-slim AS umbrel-electrs-builder +FROM node:16-buster-slim AS umbrel-fulcrum-builder # Install tools # RUN apt-get update \ @@ -22,10 +22,10 @@ COPY . . RUN npm run build:frontend # Final image -FROM node:16-buster-slim AS umbrel-electrs +FROM node:16-buster-slim AS umbrel-fulcrum # Copy built code from build stage to '/app' directory -COPY --from=umbrel-electrs-builder /app /app +COPY --from=umbrel-fulcrum-builder /app /app # Change directory to '/app' WORKDIR /app diff --git a/README.md b/README.md index 620ff23..c825f98 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ Logo -

Electrs for Umbrel

+

Fulcrum for Umbrel

- Run an Electrum server on your Umbrel personal server. An official app by Umbrel. Powered by Electrs. + Run an Electrum server on your Umbrel personal server. An official app by Umbrel. Powered by Fulcrum.
umbrel.com »
@@ -32,12 +32,12 @@ This app can be installed in one click via the Umbrel App Store. We welcome and appreciate new contributions! -If you're a developer looking to help but not sure where to begin, look for [these issues](https://github.com/getumbrel/umbrel-electrs/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that have specifically been marked as being friendly to new contributors. +If you're a developer looking to help but not sure where to begin, look for [these issues](https://github.com/getumbrel/umbrel-fulcrum/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) that have specifically been marked as being friendly to new contributors. -If you're looking for a bigger challenge, before opening a pull request please [create an issue](https://github.com/getumbrel/umbrel-electrs/issues/new/choose) or [join our community chat](https://t.me/getumbrel) to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work. +If you're looking for a bigger challenge, before opening a pull request please [create an issue](https://github.com/getumbrel/umbrel-fulcrum/issues/new/choose) or [join our community chat](https://t.me/getumbrel) to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work. --- -[![License](https://img.shields.io/github/license/getumbrel/umbrel-electrs?color=%235351FB)](https://github.com/getumbrel/umbrel-electrs/blob/master/LICENSE.md) +[![License](https://img.shields.io/github/license/getumbrel/umbrel-fulcrum?color=%235351FB)](https://github.com/getumbrel/umbrel-fulcrum/blob/master/LICENSE.md) [umbrel.com](https://umbrel.com) diff --git a/apps/backend/app.js b/apps/backend/app.js index cb3275c..f840869 100644 --- a/apps/backend/app.js +++ b/apps/backend/app.js @@ -16,7 +16,7 @@ const errorHandleMiddleware = require("middlewares/errorHandling.js"); const logger = require("utils/logger.js"); const ping = require("routes/ping.js"); -const electrs = require("routes/v1/electrs.js"); +const fulcrum = require("routes/v1/fulcrum.js"); const app = express(); app.use(bodyParser.json()); @@ -30,7 +30,7 @@ app.use(morgan(logger.morganConfiguration)); app.use("/", express.static("../frontend/dist")); app.use("/ping", ping); -app.use("/v1/electrs", electrs); +app.use("/v1/fulcrum", fulcrum); app.use(errorHandleMiddleware); app.use((req, res) => { diff --git a/apps/backend/package.json b/apps/backend/package.json index 3097e8c..4f40353 100644 --- a/apps/backend/package.json +++ b/apps/backend/package.json @@ -1,5 +1,5 @@ { - "name": "umbrel-electrs-backend", + "name": "umbrel-fulcrum-backend", "version": "0.1.12", "description": "Middleware for Umbrel Node", "author": "Umbrel", diff --git a/apps/backend/routes/v1/electrs.js b/apps/backend/routes/v1/electrs.js index 8cf69b8..b4e401e 100644 --- a/apps/backend/routes/v1/electrs.js +++ b/apps/backend/routes/v1/electrs.js @@ -1,6 +1,6 @@ const express = require("express"); const router = express.Router(); -const electrsService = require("services/electrs"); +const fulcrumService = require("services/fulcrum"); const systemLogic = require("logic/system.js"); const safeHandler = require("utils/safeHandler"); @@ -17,7 +17,7 @@ router.get( "/version", safeHandler(async (req, res) => { try { - const version = await electrsService.getVersion(); + const version = await fulcrumService.getVersion(); return res.status(200).json(version); } catch (e) { console.error("version error: ", e); @@ -30,7 +30,7 @@ router.get( "/syncPercent", safeHandler(async (req, res) => { try { - const syncPercent = await electrsService.syncPercent(); + const syncPercent = await fulcrumService.syncPercent(); return res.status(200).json(syncPercent); } catch (e) { diff --git a/apps/backend/services/electrs.js b/apps/backend/services/electrs.js index b1d4088..b2835a0 100644 --- a/apps/backend/services/electrs.js +++ b/apps/backend/services/electrs.js @@ -1,8 +1,8 @@ const ElectrumClient = require("@lily-technologies/electrum-client"); const bitcoindService = require("services/bitcoind"); -const ELECTRS_HOST = process.env.ELECTRS_HOST || "0.0.0.0"; -const rpcClient = new ElectrumClient(50001, ELECTRS_HOST, "tcp"); +const FULCRUM_HOST = process.env.FULCRUM_HOST || "0.0.0.0"; +const rpcClient = new ElectrumClient(50001, FULCRUM_HOST, "tcp"); async function getVersion() { const initClient = await rpcClient.initElectrum({ @@ -10,14 +10,14 @@ async function getVersion() { version: "1.4" }); - // versionInfo[0] comes in as electrs/0.9.4, so we parse + // versionInfo[0] comes in as fulcrum/0.9.4, so we parse const version = initClient.versionInfo[0].substring( initClient.versionInfo[0].indexOf("/") + 1 ); return version; } -// This is a little hacky way of determining if electrs is sync'd to bitcoind +// This is a little hacky way of determining if fulcrum is sync'd to bitcoind // see https://github.com/romanz/electrs/pull/543#issuecomment-973078262 async function syncPercent() { // first, check if bitcoind isn't still IBD @@ -28,16 +28,16 @@ async function syncPercent() { return 0; } - // if not IBD, then check bitcoind height to electrs height + // if not IBD, then check bitcoind height to fulcrum height const initClient = await rpcClient.initElectrum({ client: "umbrel", version: "1.4" }); const { - height: electrsHeight + height: fulcrumHeight } = await initClient.blockchainHeaders_subscribe(); - return (electrsHeight / bitcoindResponse.blocks) * 100; + return (fulcrumHeight / bitcoindResponse.blocks) * 100; } module.exports = { diff --git a/apps/backend/utils/const.js b/apps/backend/utils/const.js index 9e43bc0..f897be6 100644 --- a/apps/backend/utils/const.js +++ b/apps/backend/utils/const.js @@ -1,6 +1,6 @@ /* eslint-disable id-length */ module.exports = { - REQUEST_CORRELATION_NAMESPACE_KEY: "umbrel-electrs-request", + REQUEST_CORRELATION_NAMESPACE_KEY: "umbrel-fulcrum-request", REQUEST_CORRELATION_ID_KEY: "reqId", ELECTRUM_HIDDEN_SERVICE: diff --git a/apps/frontend/package.json b/apps/frontend/package.json index c65704c..183f815 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -1,5 +1,5 @@ { - "name": "umbrel-electrs-frontend", + "name": "umbrel-fulcrum-frontend", "version": "0.3.29", "private": true, "scripts": { diff --git a/apps/frontend/public/index.html b/apps/frontend/public/index.html index 6525140..ceb1767 100644 --- a/apps/frontend/public/index.html +++ b/apps/frontend/public/index.html @@ -2,7 +2,7 @@ - Electrs — Umbrel + Fulcrum — Umbrel diff --git a/apps/frontend/src/App.vue b/apps/frontend/src/App.vue index 2100abf..bdce2ce 100644 --- a/apps/frontend/src/App.vue +++ b/apps/frontend/src/App.vue @@ -4,7 +4,7 @@

- + For security reasons this app cannot be embedded in an diff --git a/apps/frontend/src/components/ConnectionInformation.vue b/apps/frontend/src/components/ConnectionInformation.vue index a62285d..5d687d1 100644 --- a/apps/frontend/src/components/ConnectionInformation.vue +++ b/apps/frontend/src/components/ConnectionInformation.vue @@ -2,7 +2,7 @@

Use the following details to connect your wallet or application to - Electrs. + Fulcrum.

- Looking for step-by-step instructions to connect your wallet to Electrs? + Looking for step-by-step instructions to connect your wallet to Fulcrum? Click here.

@@ -152,14 +152,14 @@ export default { }, computed: { ...mapState({ - electrs: function(state) { - return state.electrs; + fulcrum: function(state) { + return state.fulcrum; }, connectionInfo: function(state) { if (this.selectedNetwork === "local") { - return state.electrs.connectionInfo.local; + return state.fulcrum.connectionInfo.local; } else { - return state.electrs.connectionInfo.tor; + return state.fulcrum.connectionInfo.tor; } }, }), diff --git a/apps/frontend/src/components/Loading.vue b/apps/frontend/src/components/Loading.vue index 0f0a648..c27d856 100644 --- a/apps/frontend/src/components/Loading.vue +++ b/apps/frontend/src/components/Loading.vue @@ -2,7 +2,7 @@
- +
diff --git a/apps/frontend/src/store/index.js b/apps/frontend/src/store/index.js index 1938c48..31fe449 100644 --- a/apps/frontend/src/store/index.js +++ b/apps/frontend/src/store/index.js @@ -3,13 +3,13 @@ import Vuex from "vuex"; //Modules import system from "./modules/system"; -import electrs from "./modules/electrs"; +import fulcrum from "./modules/fulcrum"; Vue.use(Vuex); export default new Vuex.Store({ modules: { system, - electrs + fulcrum } }); diff --git a/apps/frontend/src/store/modules/electrs.js b/apps/frontend/src/store/modules/electrs.js index 8431bb3..165f126 100644 --- a/apps/frontend/src/store/modules/electrs.js +++ b/apps/frontend/src/store/modules/electrs.js @@ -30,7 +30,7 @@ const mutations = { const actions = { async getConnectionInformation({ commit }) { const connectionInfo = await API.get( - `${process.env.VUE_APP_API_BASE_URL}/v1/electrs/electrum-connection-details` + `${process.env.VUE_APP_API_BASE_URL}/v1/fulcrum/electrum-connection-details` ); if (connectionInfo) { @@ -40,7 +40,7 @@ const actions = { async getVersion({ commit }) { const version = await API.get( - `${process.env.VUE_APP_API_BASE_URL}/v1/electrs/version` + `${process.env.VUE_APP_API_BASE_URL}/v1/fulcrum/version` ); if (version) { @@ -50,7 +50,7 @@ const actions = { async getSyncPercent({ commit }) { const syncPercent = await API.get( - `${process.env.VUE_APP_API_BASE_URL}/v1/electrs/syncPercent` + `${process.env.VUE_APP_API_BASE_URL}/v1/fulcrum/syncPercent` ); if (syncPercent) { diff --git a/apps/frontend/src/views/Home.vue b/apps/frontend/src/views/Home.vue index ca05033..a7f3eb6 100644 --- a/apps/frontend/src/views/Home.vue +++ b/apps/frontend/src/views/Home.vue @@ -21,7 +21,7 @@

Running

-

Electrs

+

Fulcrum

{{ version ? `${version}` : "..." @@ -65,21 +65,21 @@ export default { }, computed: { ...mapState({ - version: (state) => state.electrs.version, + version: (state) => state.fulcrum.version, syncPercent: (state) => { - return state.electrs.syncPercent; + return state.fulcrum.syncPercent; }, }), }, methods: { fetchData() { - this.$store.dispatch("electrs/getSyncPercent"); + this.$store.dispatch("fulcrum/getSyncPercent"); } }, created() { this.fetchData(); - this.$store.dispatch("electrs/getVersion"); - this.$store.dispatch("electrs/getConnectionInformation"); + this.$store.dispatch("fulcrum/getVersion"); + this.$store.dispatch("fulcrum/getConnectionInformation"); this.dataInterval = window.setInterval(this.fetchData, 10000); }, beforeDestroy() { diff --git a/docker-compose.yml b/docker-compose.yml index 082e846..0f7f65b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,25 +8,25 @@ services: environment: ELECTRUM_HIDDEN_SERVICE: "somehiddenserviceurl.onion" ELECTRUM_LOCAL_SERVICE: "umbrel.local" - ELECTRS_HOST: electrs + FULCRUM_HOST: fulcrum BITCOIN_HOST: bitcoind RPC_USER: umbrel RPC_PASSWORD: moneyprintergobrrr ports: - "3006:3006" - electrs: - image: getumbrel/electrs:v0.9.4@sha256:b1590ac6cfb0e5b481c6a7af7f0626d76cbb91c63702b0f5c47e2829e9c37997 + fulcrum: + image: getumbrel/fulcrum:v0.9.4@sha256:b1590ac6cfb0e5b481c6a7af7f0626d76cbb91c63702b0f5c47e2829e9c37997 environment: - ELECTRS_LOG_FILTERS: "INFO" - ELECTRS_NETWORK: "regtest" - ELECTRS_DAEMON_RPC_ADDR: "bitcoind:18443" - ELECTRS_DAEMON_P2P_ADDR: "bitcoind:18444" - ELECTRS_ELECTRUM_RPC_ADDR: "0.0.0.0:50001" - ELECTRS_SERVER_BANNER: "Umbrel Electrs" - ELECTRS_COOKIE_FILE: "/bitcoin/regtest/.cookie" + FULCRUM_LOG_FILTERS: "INFO" + FULCRUM_NETWORK: "regtest" + FULCRUM_DAEMON_RPC_ADDR: "bitcoind:18443" + FULCRUM_DAEMON_P2P_ADDR: "bitcoind:18444" + FULCRUM_ELECTRUM_RPC_ADDR: "0.0.0.0:50001" + FULCRUM_SERVER_BANNER: "Umbrel Fulcrum" + FULCRUM_COOKIE_FILE: "/bitcoin/regtest/.cookie" volumes: - ${PWD}/data/bitcoin:/bitcoin - - ${PWD}/data/electrs:/data + - ${PWD}/data/fulcrum:/data restart: always ports: - "50001:50001" diff --git a/package-lock.json b/package-lock.json index 65e69c0..8532365 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,11 +1,11 @@ { - "name": "umbrel-electrs", + "name": "umbrel-fulcrum", "version": "1.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "umbrel-electrs", + "name": "umbrel-fulcrum", "version": "1.0.1", "workspaces": [ "apps/*" @@ -20,7 +20,7 @@ } }, "apps/backend": { - "name": "umbrel-electrs-backend", + "name": "umbrel-fulcrum-backend", "version": "0.1.12", "dependencies": { "@lily-technologies/electrum-client": "^1.1.8", @@ -79,7 +79,7 @@ "license": "MIT" }, "apps/frontend": { - "name": "umbrel-electrs-frontend", + "name": "umbrel-fulcrum-frontend", "version": "0.3.29", "dependencies": { "@tailwindcss/postcss7-compat": "^2.2.17", @@ -23385,11 +23385,11 @@ "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", "dev": true }, - "node_modules/umbrel-electrs-backend": { + "node_modules/umbrel-fulcrum-backend": { "resolved": "apps/backend", "link": true }, - "node_modules/umbrel-electrs-frontend": { + "node_modules/umbrel-fulcrum-frontend": { "resolved": "apps/frontend", "link": true }, @@ -43736,7 +43736,7 @@ } } }, - "umbrel-electrs-backend": { + "umbrel-fulcrum-backend": { "version": "file:apps/backend", "requires": { "@lily-technologies/electrum-client": "^1.1.8", @@ -43788,7 +43788,7 @@ } } }, - "umbrel-electrs-frontend": { + "umbrel-fulcrum-frontend": { "version": "file:apps/frontend", "requires": { "@tailwindcss/postcss7-compat": "^2.2.17", diff --git a/package.json b/package.json index 75bc05b..1ebfce6 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { - "name": "umbrel-electrs", + "name": "umbrel-fulcrum", "version": "1.0.1", "private": true, "description": "", "author": "", "scripts": { - "build:frontend": "npm run build -w umbrel-electrs-frontend", - "dev:backend": "npm run start -w umbrel-electrs-backend", - "dev:frontend": "npm run serve -w umbrel-electrs-frontend", + "build:frontend": "npm run build -w umbrel-fulcrum-frontend", + "dev:backend": "npm run start -w umbrel-fulcrum-backend", + "dev:frontend": "npm run serve -w umbrel-fulcrum-frontend", "test": "echo \"Error: no test specified\" && exit 1" }, "main": "index.js", From 55e4ffd3c013ae3a722ca7f2937f26cdca91a371 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 02:40:09 -0400 Subject: [PATCH 02/14] Edit Workflows --- .github/workflows/on-push.yml | 2 +- .github/workflows/on-tag.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 7544856..63aa228 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -29,5 +29,5 @@ jobs: run: | docker buildx build \ --platform linux/amd64,linux/arm64 \ - --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-electrs:$BRANCH \ + --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$BRANCH \ --push . diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml index c0de4be..ebac7c1 100644 --- a/.github/workflows/on-tag.yml +++ b/.github/workflows/on-tag.yml @@ -32,5 +32,5 @@ jobs: run: | docker buildx build \ --platform linux/amd64,linux/arm64 \ - --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-electrs:$VERSION \ + --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$VERSION \ --push . \ No newline at end of file From 97da3c54a1ef78ac9dcbdd94b03d907661a69a7f Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 02:49:56 -0400 Subject: [PATCH 03/14] Change ubuntu version to latest https://github.com/actions/runner-images/issues/6002 --- .github/workflows/on-push.yml | 2 +- .github/workflows/on-tag.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 63aa228..d9fa9e3 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -8,7 +8,7 @@ env: jobs: build: name: Build Docker image - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - name: Set BRANCH run: echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml index ebac7c1..02bbb9d 100644 --- a/.github/workflows/on-tag.yml +++ b/.github/workflows/on-tag.yml @@ -11,7 +11,7 @@ env: jobs: build: name: Build Docker image - runs-on: ubuntu-18.04 + runs-on: ubuntu-latest steps: - name: Set VERSION run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV From 22513ec9dcbc1b938b5e9bc78045daf58b0944e5 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 02:55:24 -0400 Subject: [PATCH 04/14] Rename files --- apps/backend/routes/v1/{electrs.js => fulcrum.js} | 0 apps/backend/services/{electrs.js => fulcrum.js} | 0 apps/frontend/src/store/modules/{electrs.js => fulcrum.js} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename apps/backend/routes/v1/{electrs.js => fulcrum.js} (100%) rename apps/backend/services/{electrs.js => fulcrum.js} (100%) rename apps/frontend/src/store/modules/{electrs.js => fulcrum.js} (100%) diff --git a/apps/backend/routes/v1/electrs.js b/apps/backend/routes/v1/fulcrum.js similarity index 100% rename from apps/backend/routes/v1/electrs.js rename to apps/backend/routes/v1/fulcrum.js diff --git a/apps/backend/services/electrs.js b/apps/backend/services/fulcrum.js similarity index 100% rename from apps/backend/services/electrs.js rename to apps/backend/services/fulcrum.js diff --git a/apps/frontend/src/store/modules/electrs.js b/apps/frontend/src/store/modules/fulcrum.js similarity index 100% rename from apps/frontend/src/store/modules/electrs.js rename to apps/frontend/src/store/modules/fulcrum.js From fcfe9c1b404343253adf2bb14a5c3c9add8cf109 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 04:23:17 -0400 Subject: [PATCH 05/14] add variable port --- apps/backend/services/fulcrum.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/backend/services/fulcrum.js b/apps/backend/services/fulcrum.js index b2835a0..f6e7b2e 100644 --- a/apps/backend/services/fulcrum.js +++ b/apps/backend/services/fulcrum.js @@ -2,7 +2,8 @@ const ElectrumClient = require("@lily-technologies/electrum-client"); const bitcoindService = require("services/bitcoind"); const FULCRUM_HOST = process.env.FULCRUM_HOST || "0.0.0.0"; -const rpcClient = new ElectrumClient(50001, FULCRUM_HOST, "tcp"); +const FULCRUM_PORT = parseInt(process.env.FULCRUM_PORT) || 50001; +const rpcClient = new ElectrumClient(FULCRUM_PORT, FULCRUM_HOST, "tcp"); async function getVersion() { const initClient = await rpcClient.initElectrum({ From 1fa776804d4d1bc2828f140b09062e1b0b845923 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 04:36:52 -0400 Subject: [PATCH 06/14] Update Workflow --- .github/workflows/on-push.yml | 5 ++++- .github/workflows/on-tag.yml | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index d9fa9e3..876bc09 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -11,7 +11,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set BRANCH - run: echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV + run: | + echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV + echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin @@ -30,4 +32,5 @@ jobs: docker buildx build \ --platform linux/amd64,linux/arm64 \ --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$BRANCH \ + --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$BRANCH-$sha_short \ --push . diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml index 02bbb9d..7e5ca07 100644 --- a/.github/workflows/on-tag.yml +++ b/.github/workflows/on-tag.yml @@ -14,7 +14,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Set VERSION - run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + run: | + echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin @@ -33,4 +35,5 @@ jobs: docker buildx build \ --platform linux/amd64,linux/arm64 \ --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$VERSION \ + --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$VERSION-$sha_short \ --push . \ No newline at end of file From 443ca4bb1bfab1525053675d3527ce9bc4d465cc Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 07:17:57 -0400 Subject: [PATCH 07/14] Update icon.svg --- apps/frontend/src/assets/icon.svg | 65 +++++++++++++++++++++++++------ 1 file changed, 54 insertions(+), 11 deletions(-) diff --git a/apps/frontend/src/assets/icon.svg b/apps/frontend/src/assets/icon.svg index ee5454e..1cc53cb 100644 --- a/apps/frontend/src/assets/icon.svg +++ b/apps/frontend/src/assets/icon.svg @@ -1,12 +1,55 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From df55c92c504f21580d5001117a4ef444c46cef1e Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 07:19:51 -0400 Subject: [PATCH 08/14] Change sha parsing --- .github/workflows/on-push.yml | 2 +- .github/workflows/on-tag.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 876bc09..95d63cd 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -13,7 +13,7 @@ jobs: - name: Set BRANCH run: | echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV - echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV + echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml index 7e5ca07..eb540cf 100644 --- a/.github/workflows/on-tag.yml +++ b/.github/workflows/on-tag.yml @@ -16,7 +16,7 @@ jobs: - name: Set VERSION run: | echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - echo "sha_short=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_ENV + echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin From 8d9188e35c3168e981d3aed0e8b1bedbbd1a6f05 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 17:13:10 -0400 Subject: [PATCH 09/14] Update icon.svg --- apps/frontend/src/assets/icon.svg | 1269 +++++++++++++++++++++++++++-- 1 file changed, 1215 insertions(+), 54 deletions(-) diff --git a/apps/frontend/src/assets/icon.svg b/apps/frontend/src/assets/icon.svg index 1cc53cb..a491d5e 100644 --- a/apps/frontend/src/assets/icon.svg +++ b/apps/frontend/src/assets/icon.svg @@ -1,55 +1,1216 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + From 20b870db6fe2b6ad05d366b2eaf5dc4771e1c086 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Fri, 20 Sep 2024 17:20:53 -0400 Subject: [PATCH 10/14] Update workflow again --- .github/workflows/on-push.yml | 9 +++++---- .github/workflows/on-tag.yml | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 95d63cd..02cc962 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -11,15 +11,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Set BRANCH - run: | - echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV - echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV - + run: echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV + - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - name: Checkout project uses: actions/checkout@v2 + + - name: Get short sha + run: echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v1 diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml index eb540cf..5822270 100644 --- a/.github/workflows/on-tag.yml +++ b/.github/workflows/on-tag.yml @@ -14,15 +14,16 @@ jobs: runs-on: ubuntu-latest steps: - name: Set VERSION - run: | - echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV + run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV - name: Login to Docker Hub run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - name: Checkout project uses: actions/checkout@v2 + + - name: Get short sha + run: echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v1 From 450ceb0344500e53264265787f6d8ea3571bf9a6 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Sat, 21 Sep 2024 05:45:31 -0400 Subject: [PATCH 11/14] Add logos and icons --- apps/frontend/public/favicon.ico | Bin 22382 -> 15406 bytes apps/frontend/public/favicon.png | Bin 72422 -> 66678 bytes apps/frontend/src/components/Loading.vue | 5 +---- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/apps/frontend/public/favicon.ico b/apps/frontend/public/favicon.ico index 889abc119f50833790236af48d3e2504709e1ae8..8570b97a461a27a1edde365794e4e5091a6b3900 100644 GIT binary patch literal 15406 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 L-u|Bim<0YG>I+*S literal 22382 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 UGlb?cd-0p>*H5uUJkj6(0FW|T5dZ)H diff --git a/apps/frontend/public/favicon.png b/apps/frontend/public/favicon.png index 732ee24efdb7d2a1c7eba97851fde26ce10b3bd0..b2e56d2947a2ea73dd9e438b7a133f3b70114626 100644 GIT binary patch literal 66678 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 literal 72422 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

y{<82y}ZbEm|S*~Hzu_ZFqy9JsPoo$uzD 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

From 6cf8217c2f7071ddb40aaac40cee580e2d2d2e54 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Mon, 23 Sep 2024 02:15:06 -0400 Subject: [PATCH 12/14] Update on-push.yml --- .github/workflows/on-push.yml | 113 +++++++++++++++++++++++++++------- 1 file changed, 90 insertions(+), 23 deletions(-) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 02cc962..a966e53 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -1,37 +1,104 @@ name: Build and publish Docker image on push +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + on: push env: - DOCKER_CLI_EXPERIMENTAL: enabled + # Use docker.io for Docker Hub if empty + REGISTRY: ghcr.io + # github.repository as / + IMAGE_NAME: ${{ github.repository }} jobs: build: name: Build Docker image runs-on: ubuntu-latest + permissions: + contents: read + packages: write + attestations: write + # This is used to complete the identity challenge + # with sigstore/fulcio when running outside of PRs. + id-token: write + steps: - - name: Set BRANCH - run: echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/} | sed 's/\//-/g')" >> $GITHUB_ENV - - - name: Login to Docker Hub - run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin - - - name: Checkout project - uses: actions/checkout@v2 - - name: Get short sha - run: echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV + - name: Checkout repository + uses: actions/checkout@v4 + + # Install the cosign tool except on PR + # https://github.com/sigstore/cosign-installer + - name: Install cosign + if: github.event_name != 'pull_request' + uses: sigstore/cosign-installer@v3.6.0 + with: + cosign-release: 'v2.4.0' + - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Setup Docker buildx action - uses: docker/setup-buildx-action@v1 - - - name: Run Docker buildx - run: | - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$BRANCH \ - --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$BRANCH-$sha_short \ - --push . + uses: docker/setup-qemu-action@v3 + + # Set up BuildKit Docker container builder to be able to build + # multi-platform images and export cache + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # Login against a Docker registry except on PR + # https://github.com/docker/login-action + - name: Log into registry ${{ env.REGISTRY }} + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # Extract metadata (tags, labels) for Docker + # https://github.com/docker/metadata-action + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + type=schedule + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=ref,event=branch + type=ref,event=pr + type=sha + + # Build and push Docker image with Buildx (don't push on PR) + # https://github.com/docker/build-push-action + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64,linux/arm64 + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + + # Sign the resulting Docker image digest except on PRs. + # This will only write to the public Rekor transparency log when the Docker + # repository is public to avoid leaking data. If you would like to publish + # transparency data even for private images, pass --force to cosign below. + # https://github.com/sigstore/cosign + - name: Sign the published Docker image + if: ${{ github.event_name != 'pull_request' }} + env: + # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable + TAGS: ${{ steps.meta.outputs.tags }} + DIGEST: ${{ steps.build-and-push.outputs.digest }} + # This step uses the identity token to provision an ephemeral certificate + # against the sigstore community Fulcio instance. + run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} From 24e285293184cb933560958b614a802942801aa9 Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Mon, 23 Sep 2024 02:16:42 -0400 Subject: [PATCH 13/14] Update on-tag.yml --- .github/workflows/on-tag.yml | 107 +++++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 25 deletions(-) diff --git a/.github/workflows/on-tag.yml b/.github/workflows/on-tag.yml index 5822270..6e855b4 100644 --- a/.github/workflows/on-tag.yml +++ b/.github/workflows/on-tag.yml @@ -1,40 +1,97 @@ name: Build and publish Docker image on tag +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + on: push: - tags: - - 'v*.*.*' + # Publish semver tags as releases. + tags: [ 'v*.*.*' ] env: - DOCKER_CLI_EXPERIMENTAL: enabled + # Use docker.io for Docker Hub if empty + REGISTRY: ghcr.io + # github.repository as / + IMAGE_NAME: ${{ github.repository }} jobs: build: name: Build Docker image runs-on: ubuntu-latest + permissions: + contents: read + packages: write + attestations: write + # This is used to complete the identity challenge + # with sigstore/fulcio when running outside of PRs. + id-token: write + steps: - - name: Set VERSION - run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Checkout repository + uses: actions/checkout@v4 - - name: Login to Docker Hub - run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin + # Install the cosign tool except on PR + # https://github.com/sigstore/cosign-installer + - name: Install cosign + if: github.event_name != 'pull_request' + uses: sigstore/cosign-installer@v3.6.0 + with: + cosign-release: 'v2.4.0' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 - - name: Checkout project - uses: actions/checkout@v2 - - - name: Get short sha - run: echo "sha_short=$(git rev-parse --short ${{ github.sha }})" >> $GITHUB_ENV + # Set up BuildKit Docker container builder to be able to build + # multi-platform images and export cache + # https://github.com/docker/setup-buildx-action + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Setup Docker buildx action - uses: docker/setup-buildx-action@v1 - - - name: Run Docker buildx - run: | - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$VERSION \ - --tag ${{ secrets.DOCKER_HUB_USER }}/umbrel-fulcrum:$VERSION-$sha_short \ - --push . \ No newline at end of file + # Login against a Docker registry except on PR + # https://github.com/docker/login-action + - name: Log into registry ${{ env.REGISTRY }} + if: github.event_name != 'pull_request' + uses: docker/login-action@v3 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # Extract metadata (tags, labels) for Docker + # https://github.com/docker/metadata-action + - name: Extract Docker metadata + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + + # Build and push Docker image with Buildx (don't push on PR) + # https://github.com/docker/build-push-action + - name: Build and push Docker image + id: build-and-push + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64,linux/arm64 + context: . + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + cache-from: type=gha + cache-to: type=gha,mode=max + + # Sign the resulting Docker image digest except on PRs. + # This will only write to the public Rekor transparency log when the Docker + # repository is public to avoid leaking data. If you would like to publish + # transparency data even for private images, pass --force to cosign below. + # https://github.com/sigstore/cosign + - name: Sign the published Docker image + if: ${{ github.event_name != 'pull_request' }} + env: + # https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable + TAGS: ${{ steps.meta.outputs.tags }} + DIGEST: ${{ steps.build-and-push.outputs.digest }} + # This step uses the identity token to provision an ephemeral certificate + # against the sigstore community Fulcio instance. + run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST} From f305337cb323c3a9481c1096c52ce730e7af450f Mon Sep 17 00:00:00 2001 From: Sahil Phule Date: Mon, 23 Sep 2024 20:40:47 -0400 Subject: [PATCH 14/14] Fix Fulcrum server.version error --- apps/backend/services/fulcrum.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/backend/services/fulcrum.js b/apps/backend/services/fulcrum.js index f6e7b2e..f9bd91e 100644 --- a/apps/backend/services/fulcrum.js +++ b/apps/backend/services/fulcrum.js @@ -15,6 +15,7 @@ async function getVersion() { const version = initClient.versionInfo[0].substring( initClient.versionInfo[0].indexOf("/") + 1 ); + initClient.close() return version; } @@ -38,6 +39,7 @@ async function syncPercent() { const { height: fulcrumHeight } = await initClient.blockchainHeaders_subscribe(); + initClient.close() return (fulcrumHeight / bitcoindResponse.blocks) * 100; }