Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.7.19 #1237

Merged
merged 60 commits into from
Dec 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
2bb5f68
docs: more clarity about static IP addresses
TheLastCicada Oct 18, 2024
f14e3f6
chore: Updating npm dev dependencies
ChiaAutomation Oct 18, 2024
fd97043
Merge pull request #1199 from Chia-Network/s3-http-docs
TheLastCicada Oct 21, 2024
8b29d5b
docs: various README fixes
TheLastCicada Oct 21, 2024
7580de9
Merge pull request #1200 from Chia-Network/readme-hodge-podge
TheLastCicada Oct 21, 2024
1ab3363
docs: fix readme typos and numbering problems
TheLastCicada Oct 22, 2024
78c4b95
Merge pull request #1203 from Chia-Network/readme-fixes-102224
TheLastCicada Oct 22, 2024
80986ab
feat: mirror check task automatically adds missing governance mirrors
wwills2 Oct 29, 2024
7213449
feat: mirror check adds governance mirrors if non-governance instance
wwills2 Oct 30, 2024
7fac2c7
feat: mirror check adds governance mirrors if non-governance instance
wwills2 Oct 30, 2024
7270d3b
feat: mirror check adds governance mirrors if non-governance instance
wwills2 Oct 30, 2024
d62eb1f
Merge remote-tracking branch 'origin/auto-add-governance-mirrors' int…
wwills2 Oct 30, 2024
d82f582
Merge pull request #1211 from Chia-Network/auto-add-governance-mirrors
TheLastCicada Oct 31, 2024
cd293d1
chore: version bump
TheLastCicada Oct 31, 2024
4bd8e9c
Merge pull request #1212 from Chia-Network/1719
TheLastCicada Oct 31, 2024
e39445b
ci: check for secrets access to allow dependabot to build unsigned bi…
TheLastCicada Oct 31, 2024
5d881c9
Merge pull request #1213 from Chia-Network/ci-check-for-secrets-access
TheLastCicada Oct 31, 2024
14df9c7
ci: mac signing job reorg
TheLastCicada Oct 31, 2024
9773b8a
Merge pull request #1214 from Chia-Network/ci-check-for-secrets-access
TheLastCicada Oct 31, 2024
fe7d0c9
build(deps): bump actions/checkout from 3 to 4
dependabot[bot] Oct 31, 2024
b289950
build(deps): bump actions/upload-artifact from 3 to 4
dependabot[bot] Oct 31, 2024
ce1521d
build(deps): bump actions/setup-node from 3 to 4
dependabot[bot] Oct 31, 2024
f0517c6
build(deps): bump Apple-Actions/import-codesign-certs from 1 to 3
dependabot[bot] Oct 31, 2024
a66c2ee
chore(deps): bump softprops/action-gh-release from 0.1.15 to 2.0.9
dependabot[bot] Oct 31, 2024
207dfee
Merge pull request #1086 from Chia-Network/dependabot/github_actions/…
TheLastCicada Oct 31, 2024
9ff5488
build(deps): bump actions/download-artifact from 3 to 4
dependabot[bot] Oct 31, 2024
52f5507
build(deps): bump actions/cache from 3 to 4
dependabot[bot] Oct 31, 2024
aaca8e1
build(deps): bump docker/setup-qemu-action from 2 to 3
dependabot[bot] Oct 31, 2024
975d48f
Merge pull request #1085 from Chia-Network/dependabot/github_actions/…
TheLastCicada Oct 31, 2024
d8d43f6
Merge pull request #1083 from Chia-Network/dependabot/github_actions/…
TheLastCicada Oct 31, 2024
ad4983e
Merge pull request #1215 from Chia-Network/dependabot/github_actions/…
TheLastCicada Oct 31, 2024
2dbbf4a
Merge pull request #1087 from Chia-Network/dependabot/github_actions/…
TheLastCicada Nov 1, 2024
9ab82d0
Merge pull request #1084 from Chia-Network/dependabot/github_actions/…
TheLastCicada Nov 1, 2024
083cf6b
chore: dependency updates
wwills2 Nov 1, 2024
dbfb8cb
Merge branch 'develop' into update-deps-11-1-24
TheLastCicada Nov 1, 2024
d679516
Merge pull request #1216 from Chia-Network/update-deps-11-1-24
TheLastCicada Nov 2, 2024
dcab9e9
build(deps): bump softprops/action-gh-release from 2.0.9 to 2.1.0
dependabot[bot] Nov 12, 2024
91c1645
chore: update rpc documentation
wwills2 Nov 15, 2024
b489859
feat: sqlite db locking mitigation via organizations.model.js and aud…
wwills2 Nov 18, 2024
6a06588
Merge pull request #1088 from Chia-Network/dependabot/github_actions/…
TheLastCicada Nov 18, 2024
f4f00d2
Merge pull request #1082 from Chia-Network/dependabot/github_actions/…
TheLastCicada Nov 18, 2024
0a5ce70
Merge pull request #1223 from Chia-Network/dependabot/github_actions/…
TheLastCicada Nov 18, 2024
e1f59d4
build(deps-dev): bump @yao-pkg/pkg from 5.16.1 to 6.1.1
dependabot[bot] Nov 19, 2024
23a245e
Merge pull request #1224 from Chia-Network/audit-and-organization-db-…
wwills2 Nov 19, 2024
8e50ede
chore: project doc update complete
wwills2 Nov 19, 2024
5483bee
chore: update staging documentation
wwills2 Nov 21, 2024
a3f33f7
feat: updated org model and sync registries to prevent locking organi…
wwills2 Nov 22, 2024
debad53
fix: failing tests
wwills2 Nov 22, 2024
db5cc79
Merge pull request #1230 from Chia-Network/audit-and-organization-db-…
wwills2 Nov 22, 2024
5179845
chore: address documentation comments
wwills2 Nov 22, 2024
541f862
Merge branch 'develop' into documentation-updates
wwills2 Nov 22, 2024
13cd876
fix: adjust test expected messages for clarified RPC responses
wwills2 Nov 22, 2024
5e3246d
Merge remote-tracking branch 'origin/documentation-updates' into docu…
wwills2 Nov 22, 2024
c5c0b00
chore: added additional staging resources to doc glossary
wwills2 Nov 25, 2024
9dbbc22
Merge pull request #1228 from Chia-Network/dependabot/npm_and_yarn/ya…
TheLastCicada Nov 25, 2024
1219647
Merge branch 'develop' into documentation-updates
wwills2 Nov 25, 2024
1d16f7f
Merge pull request #1229 from Chia-Network/documentation-updates
wwills2 Nov 25, 2024
b735808
fix: organization meta sync task hanging
wwills2 Dec 3, 2024
bd583db
fix: restrictive json parser limit. increased to 5mb
wwills2 Dec 3, 2024
c234b0e
Merge pull request #1236 from Chia-Network/fix-hanging-org-meta-sync
TheLastCicada Dec 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/auto-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
uses: Chia-Network/actions/clean-workspace@main

- name: Checkout current branch
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Need PACKAGE_ADMIN_PAT token so when the tag is created, the tag automation runs
token: ${{ secrets.PACKAGE_ADMIN_PAT }}
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
fi

- name: Checkout develop branch
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
# Need PACKAGE_ADMIN_PAT token so when the tag is created, the tag automation runs
token: ${{ secrets.PACKAGE_ADMIN_PAT }}
Expand Down
74 changes: 50 additions & 24 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ jobs:
uses: Chia-Network/actions/clean-workspace@main

- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Setup Node 20.x
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version: '20.16'

Expand Down Expand Up @@ -82,9 +82,20 @@ jobs:
- name: Copy sqlite3
run: cp ${{ matrix.sqlite-path }}node_sqlite3.node ./dist/

- name: Test for secrets access
id: check_secrets
shell: bash
run: |
unset HAS_SIGNING_SECRET

if [ -n "$SIGNING_SECRET" ]; then HAS_SIGNING_SECRET='true' ; fi
echo "HAS_SIGNING_SECRET=${HAS_SIGNING_SECRET}" >> "$GITHUB_OUTPUT"
env:
SIGNING_SECRET: "${{ secrets.SM_CLIENT_CERT_FILE_B64 }}"

# Windows Code Signing
- name: Sign windows artifacts
if: matrix.runs-on == 'windows-2019'
if: matrix.runs-on == 'windows-2019' && steps.check_secrets.outputs.HAS_SIGNING_SECRET
uses: chia-network/actions/digicert/windows-sign@main
with:
sm_api_key: ${{ secrets.SM_API_KEY }}
Expand All @@ -95,36 +106,48 @@ jobs:

# Mac .pkg build + sign
- name: Import Apple installer signing certificate
if: matrix.runs-on == 'macos-latest'
uses: Apple-Actions/import-codesign-certs@v1
if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET
uses: Apple-Actions/import-codesign-certs@v3
with:
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
p12-file-base64: ${{ secrets.APPLE_DEV_ID_INSTALLER }}
p12-password: ${{ secrets.APPLE_DEV_ID_INSTALLER_PASS }}

- name: Import Apple Application signing certificate
if: matrix.runs-on == 'macos-latest'
uses: Apple-Actions/import-codesign-certs@v1
if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET
uses: Apple-Actions/import-codesign-certs@v3
with:
create-keychain: false # Created when importing the first cert
keychain-password: ${{ secrets.KEYCHAIN_PASSWORD }}
p12-file-base64: ${{ secrets.APPLE_DEV_ID_APP }}
p12-password: ${{ secrets.APPLE_DEV_ID_APP_PASS }}

- name: Build Mac .pkg
- name: Prep building Mac .pkg
if: matrix.runs-on == 'macos-latest'
run: |
rm -rf ${{ github.workspace }}/build-scripts/macos/darwin/application || true
cp -r ${{ github.workspace }}/dist ${{ github.workspace }}/build-scripts/macos/application

- name: Sign Mac binaries
if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET
run: |
echo "Signing the binaries"
codesign -f -s "Developer ID Application: Chia Network Inc." --timestamp --options=runtime --entitlements ${{ github.workspace }}/build-scripts/macos/entitlements.mac.plist ${{ github.workspace }}/build-scripts/macos/application/cadt
codesign -f -s "Developer ID Application: Chia Network Inc." --timestamp ${{ github.workspace }}/build-scripts/macos/application/node_sqlite3.node

- name: Build Mac .pkg
if: matrix.runs-on == 'macos-latest'
run: |
# Makes the .pkg in ./build-scripts/macos/target/pkg
echo "Building the .pkg"
bash ${{ github.workspace }}/build-scripts/macos/build-macos.sh CADT

mkdir -p ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload
cp ${{ github.workspace }}/build-scripts/macos/target/pkg/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/CADT-macos-installer-x64.pkg

- name: Notarize Mac .pkg
if: matrix.runs-on == 'macos-latest' && steps.check_secrets.outputs.HAS_SIGNING_SECRET
run: |
mkdir -p ${{ github.workspace }}/build-scripts/macos/target/pkg-signed

echo "Signing the .pkg"
Expand All @@ -138,15 +161,18 @@ jobs:
--team-id "${{ secrets.APPLE_TEAM_ID }}" \
"${{ github.workspace }}/build-scripts/macos/target/pkg-signed/CADT-macos-installer-x64.pkg"

rm -f ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/*
mv ${{ github.workspace }}/build-scripts/macos/target/pkg-signed/CADT-macos-installer-x64.pkg ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload/

- name: Upload Mac Installer
if: matrix.runs-on == 'macos-latest'
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: cadt-mac-installer
path: ${{ github.workspace }}/build-scripts/macos/target/pkg-signed
path: ${{ github.workspace }}/build-scripts/macos/target/ready-to-upload

- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact-name }}
path: ${{ github.workspace }}/dist
Expand All @@ -156,14 +182,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3
with:
platforms: arm64

- uses: Chia-Network/actions/clean-workspace@main

- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Determine npm cache key
id: npm-cache
Expand All @@ -172,7 +198,7 @@ jobs:
echo "CACHE_KEY=$CACHE_KEY" >> $GITHUB_OUTPUT

- name: Setup NPM Cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: node_modules
key: ${{ steps.npm-cache.outputs.CACHE_KEY }}
Expand All @@ -187,7 +213,7 @@ jobs:
sudo cp ./node_modules/sqlite3/build/Release/node_sqlite3.node ./dist/

- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: cadt-linux-arm64
path: ${{ github.workspace }}/dist
Expand All @@ -207,10 +233,10 @@ jobs:
platform: arm64
steps:
- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Download Linux artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: ${{ matrix.name }}
path: ${{ matrix.name }}
Expand Down Expand Up @@ -239,7 +265,7 @@ jobs:
dpkg-deb --build --root-owner-group "deb/$CLI_DEB_BASE"

- name: Upload deb
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.name }}-deb
path: ${{ github.workspace }}/deb/*.deb
Expand All @@ -251,31 +277,31 @@ jobs:
- debs
steps:
- name: Download Windows artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: cadt-windows-x64
path: cadt-windows-x64

- name: Download MacOS artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: cadt-mac-installer
path: cadt-mac-installer

- name: Download Linux artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: cadt-linux-x64
path: cadt-linux-x64

- name: Download Linux x64 deb
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: cadt-linux-x64-deb
path: cadt-linux-x64-deb

- name: Download Linux arm64 deb
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: cadt-linux-arm64-deb
path: cadt-linux-arm64-deb
Expand All @@ -292,7 +318,7 @@ jobs:
zip -r cadt-linux-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip cadt-linux-x64

- name: Release
uses: softprops/action-gh-release@v0.1.15
uses: softprops/action-gh-release@v2.1.0
with:
files: |
cadt-windows-x64-${{ steps.tag-name.outputs.TAGNAME }}.zip
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ensure-version-increment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ jobs:
- uses: Chia-Network/actions/clean-workspace@main

- name: Checkout current branch
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: branch-repo

- name: Checkout main
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: main
path: main-repo
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- uses: Chia-Network/actions/clean-workspace@main

- name: Checkout Code
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Ignore Husky
run: npm pkg delete scripts.prepare
Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ sudo apt-get update
sudo apt-get install chia-blockchain-cli cadt
```

6. Start Chia Wallet and Datalayer with [systemd](https://docs.chia.net/installation/#systemd)
6. Start Chia Wallet, Full Node, and Datalayer with [systemd](https://docs.chia.net/installation/#systemd)

```
sudo systemctl start chia-wallet@<USERNAME> chia-data-layer@<USERNAME> chia-full-node@<USERNAME>
Expand Down Expand Up @@ -110,7 +110,7 @@ If using the built-in HTTP server for datalayer, start it at boot with
sudo systemctl enable chia-data-layer-http@<USERNAME>
```

10. View CADT logs to validate
9. View CADT logs to validate

```
journalctl -u cadt@<USERNAME> -f
Expand All @@ -132,16 +132,16 @@ To install from source:
```
git clone [email protected]:Chia-Network/cadt.git
cd cadt
nvm install 20.16
nvm use 20.16
nvm install
nvm use
npm run start
```

### Datalayer HTTP File Serving

CADT relies on all participants publicly sharing their data over Chia Datalayer, which includes sharing the Chia-generated `.dat` files over HTTP. The files are located in `~/.chia/mainnet/data_layer/db/server_files_location_<NETWORK>/` (where `<NETWORK>` is the Chia network, usually either "mainnet" or "testneta") and can be shared over any web-accessible HTTP endpoint, including

* Using the built-in datalayer-http service (see [Installation](#installation) instructions below). Datalayer-http runs on port 8575 by default which may need to be opened in your firewall configuration or forwarded by your router. Additionally, a static IP address will be required, which is not offered by default on some hosting providers. On AWS, assign an Elastic IP to the EC2 instance or use an Application Load Balancer to solve this.
* Using the built-in datalayer-http service (see [Installation](#installation) instructions below). Datalayer-http runs on port 8575 by default which may need to be opened in your firewall configuration or forwarded by your router. Additionally, a static IP address, or stable DNS record, will be required, which is not offered by default on some hosting providers. On AWS, assign an Elastic IP to the EC2 instance or use an Application Load Balancer to solve this.

* Using Nginx, Apache, Caddy, or any other web server. This also requires a static IP address, or dynamically assigned DNS record. Another challenge is that the default location for the .dat files is in the user's home directory, which the web server software will not have read-access to. One simple solution is
* `mv ~/.chia/mainnet/data_layer/db/server_files_location_<NETWORK> /var/www/` - move the datalayer file directory outside of the home directory
Expand All @@ -168,7 +168,7 @@ CADT relies on all participants publicly sharing their data over Chia Datalayer,

* Use [S3](https://aws.amazon.com/s3/) or other object store. Datalayer .dat files can be synced to any cloud file storage solution that can serve them publicly over HTTP. One recommended solution using S3 is to [use this script and follow the installation and usage instructions in the README](https://github.com/TheLastCicada/Chia-Datalayer-S3-Sync).


Once the .dat files are publicly available, update `DATALAYER_FILE_SERVER_URL` in the [CADT configuration file](#configuration) with the URL or IP address (always include http:// or https://) and the port, then restart CADT. CADT will begin to create mirrors at this URL for your data and all stores you are subscribed to.

### Run CADT on a Testnet

Expand All @@ -192,20 +192,20 @@ CADT runs on a testnet called "testnetA" which is different than the main Chia t

`sudo systemctl stop cadt@<USERNAME>`

4. Update the `GOVERNANCE_BODY_ID` in `~/.chia/mainnet/cadt/v1/config.yaml` to be `1019153f631bb82e7fc4984dc1f0f2af9e95a7c29df743f7b4dcc2b975857409`
5. Update the `GOVERNANCE_BODY_ID` in `~/.chia/mainnet/cadt/v1/config.yaml` to be `1019153f631bb82e7fc4984dc1f0f2af9e95a7c29df743f7b4dcc2b975857409`

5. If you already were running CADT on mainnet, delete the CADT database
6. If you already were running CADT on mainnet, delete the CADT database

`rm ~/.chia/mainnet/cadt/v1/data.sqlite3*`

6. Start CADT
7. Start CADT

`sudo systemctl start cadt@<USERNAME>`


### Ports, Networking, and Security

By default, the CADT API will listen on localhost only on port 31310. If running a node with `READ_ONLY` set to `false`, it is highly recommended that CADT is run on a private network or with access limited by IP address. To allow remote connections to CADT, set the `BIND_ADDRESS` (see the [Configuration](#configuration) section below) to the IP to listen on, or `0.0.0.0` to listen on all interfaces. The port for the CADT API can be set with the parameter `CW_PORT`. The default port is 31310. In many cases, users will need to access the API from their workstations for either the [CADT UI](https://github.com/Chia-Network/climate-warehouse-ui) or to integrate with existing tools and scripts. To add authentication to the API, use the `CADT_API_KEY` parameter. Alternatively, the API can be served behind an authentication proxy to restrict access and the `CADT_API_KEY` can be left blank. If running an observer node with `READ_ONLY` set to `true`, the CADT API will only share data from the public blockchain, and running without authentication is usually safe. If `READ_ONLY` is set to `false`, authentication must be used to prevent unauthorized writes to the blockchain.
By default, the CADT API will listen on localhost only on port 31310. If running a node with `READ_ONLY` set to `false`, it is highly recommended that CADT is run on a private network or with access limited by IP address. To allow remote connections to CADT, set the `BIND_ADDRESS` (see the [Configuration](#configuration) section below) to the IP to listen on, or `0.0.0.0` to listen on all interfaces. The port for the CADT API can be set with the parameter `CW_PORT`. The default port is 31310. In many cases, users will need to access the API from their workstations for either the [CADT UI](https://github.com/Chia-Network/cadt-ui) or to integrate with existing tools and scripts. To add authentication to the API, use the `CADT_API_KEY` parameter. Alternatively, the API can be served behind an authentication proxy to restrict access and the `CADT_API_KEY` can be left blank. If running an observer node with `READ_ONLY` set to `true`, the CADT API will only share data from the public blockchain, and running without authentication is usually safe. If `READ_ONLY` is set to `false`, authentication must be used to prevent unauthorized writes to the blockchain.

### Adding Encryption to the CADT API

Expand Down
Loading
Loading