From deba46125d7b2f9066c3bdd251ce075f75718490 Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo@trentesaux.fr> Date: Thu, 28 Nov 2024 17:38:53 +0100 Subject: [PATCH] fix rpc dockerfile and add rpc cesium plus example --- docker/Dockerfile.KuboRpc | 2 +- logo.png | Bin 0 -> 8710 bytes package.json | 5 +- pnpm-lock.yaml | 256 ++++++++++++++----------- scripts/configure-rpc-addresses.sh | 19 ++ src/scripts/datapod-profile-example.ts | 79 ++++++++ 6 files changed, 241 insertions(+), 120 deletions(-) create mode 100644 logo.png create mode 100644 scripts/configure-rpc-addresses.sh create mode 100644 src/scripts/datapod-profile-example.ts diff --git a/docker/Dockerfile.KuboRpc b/docker/Dockerfile.KuboRpc index 32dda23..ae3fa49 100644 --- a/docker/Dockerfile.KuboRpc +++ b/docker/Dockerfile.KuboRpc @@ -1,6 +1,6 @@ # kubo config suited for unsafe remote RPC instance FROM ipfs/kubo:v0.32.1 -COPY ./scripts/configure-addresses.sh /container-init.d/001-configure.sh +COPY ./scripts/configure-rpc-addresses.sh /container-init.d/001-configure.sh COPY ./scripts/configure-bootstrap.sh /container-init.d/002-configure.sh COPY ./scripts/configure-peering.sh /container-init.d/003-configure.sh COPY ./scripts/configure-rpc-public.sh /container-init.d/004-configure.sh diff --git a/logo.png b/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..cfbe1faf31e9d6d43e5baba1d3fe94e180ce484b GIT binary patch literal 8710 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 CxyA<o literal 0 HcmV?d00001 diff --git a/package.json b/package.json index 97dcfa1..3e409d1 100644 --- a/package.json +++ b/package.json @@ -18,8 +18,8 @@ "dependencies": { "@libp2p/peer-id": "^4.1.0", "@multiformats/multiaddr": "^12.2.1", - "@polkadot/util": "^12.6.2", - "@polkadot/util-crypto": "^12.6.2", + "@polkadot/util": "^13.2.3", + "@polkadot/util-crypto": "^13.2.3", "bs58": "^5.0.0", "kubo-rpc-client": "^4.1.1", "multiformats": "^13.1.0", @@ -27,6 +27,7 @@ }, "devDependencies": { "@libp2p/interface": "^1.3.0", + "@polkadot/keyring": "^13.2.3", "@rushstack/eslint-patch": "^1.10.2", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.12.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3041677..3693589 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,11 +15,11 @@ importers: specifier: ^12.2.1 version: 12.2.1 '@polkadot/util': - specifier: ^12.6.2 - version: 12.6.2 + specifier: ^13.2.3 + version: 13.2.3 '@polkadot/util-crypto': - specifier: ^12.6.2 - version: 12.6.2(@polkadot/util@12.6.2) + specifier: ^13.2.3 + version: 13.2.3(@polkadot/util@13.2.3) bs58: specifier: ^5.0.0 version: 5.0.0 @@ -36,6 +36,9 @@ importers: '@libp2p/interface': specifier: ^1.3.0 version: 1.3.0 + '@polkadot/keyring': + specifier: ^13.2.3 + version: 13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3) '@rushstack/eslint-patch': specifier: ^1.10.2 version: 1.10.2 @@ -423,6 +426,7 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -430,6 +434,7 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead '@ipld/dag-cbor@9.2.0': resolution: {integrity: sha512-N14oMy0q4gM6OuZkIpisKe0JBSjf1Jb39VI+7jMLiWX9124u1Z3Fdj/Tag1NA0cVxxqWDh0CqsjcVfOKtelPDA==} @@ -490,80 +495,87 @@ packages: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - '@polkadot/networks@12.6.2': - resolution: {integrity: sha512-1oWtZm1IvPWqvMrldVH6NI2gBoCndl5GEwx7lAuQWGr7eNL+6Bdc5K3Z9T0MzFvDGoi2/CBqjX9dRKo39pDC/w==} + '@polkadot/keyring@13.2.3': + resolution: {integrity: sha512-pgTo6DXNXub0wGD+MnVHYhKxf80Jl+QMOCb818ioGdXz++Uw4mTueFAwtB+N7TGo0HafhChUiNJDxFdlDkcAng==} + engines: {node: '>=18'} + peerDependencies: + '@polkadot/util': 13.2.3 + '@polkadot/util-crypto': 13.2.3 + + '@polkadot/networks@13.2.3': + resolution: {integrity: sha512-mG+zkXg/33AyPrkv2xBbAo3LBUwOwBn6qznBU/4jxiZPnVvCwMaxE7xHM22B5riItbNJ169FXv3wy0v6ZmkFbw==} engines: {node: '>=18'} - '@polkadot/util-crypto@12.6.2': - resolution: {integrity: sha512-FEWI/dJ7wDMNN1WOzZAjQoIcCP/3vz3wvAp5QQm+lOrzOLj0iDmaIGIcBkz8HVm3ErfSe/uKP0KS4jgV/ib+Mg==} + '@polkadot/util-crypto@13.2.3': + resolution: {integrity: sha512-5sbggmLbn5eiuVMyPROPlT5roHRqdKHOfSpioNbGvGIZ1qIWVoC1RfsK0NWJOVGDzy6DpQe0KYT/kgcU5Xsrzw==} engines: {node: '>=18'} peerDependencies: - '@polkadot/util': 12.6.2 + '@polkadot/util': 13.2.3 - '@polkadot/util@12.6.2': - resolution: {integrity: sha512-l8TubR7CLEY47240uki0TQzFvtnxFIO7uI/0GoWzpYD/O62EIAMRsuY01N4DuwgKq2ZWD59WhzsLYmA5K6ksdw==} + '@polkadot/util@13.2.3': + resolution: {integrity: sha512-pioNnsig3qHXrfOKMe4Yqos8B8N3/EZUpS+WfTpWnn1VjYban/0GrTXeavPlAwggnY27b8fS6rBzQBhnVYDw8g==} engines: {node: '>=18'} - '@polkadot/wasm-bridge@7.3.2': - resolution: {integrity: sha512-AJEXChcf/nKXd5Q/YLEV5dXQMle3UNT7jcXYmIffZAo/KI394a+/24PaISyQjoNC0fkzS1Q8T5pnGGHmXiVz2g==} + '@polkadot/wasm-bridge@7.4.1': + resolution: {integrity: sha512-tdkJaV453tezBxhF39r4oeG0A39sPKGDJmN81LYLf+Fihb7astzwju+u75BRmDrHZjZIv00un3razJEWCxze6g==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' '@polkadot/x-randomvalues': '*' - '@polkadot/wasm-crypto-asmjs@7.3.2': - resolution: {integrity: sha512-QP5eiUqUFur/2UoF2KKKYJcesc71fXhQFLT3D4ZjG28Mfk2ZPI0QNRUfpcxVQmIUpV5USHg4geCBNuCYsMm20Q==} + '@polkadot/wasm-crypto-asmjs@7.4.1': + resolution: {integrity: sha512-pwU8QXhUW7IberyHJIQr37IhbB6DPkCG5FhozCiNTq4vFBsFPjm9q8aZh7oX1QHQaiAZa2m2/VjIVE+FHGbvHQ==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' - '@polkadot/wasm-crypto-init@7.3.2': - resolution: {integrity: sha512-FPq73zGmvZtnuJaFV44brze3Lkrki3b4PebxCy9Fplw8nTmisKo9Xxtfew08r0njyYh+uiJRAxPCXadkC9sc8g==} + '@polkadot/wasm-crypto-init@7.4.1': + resolution: {integrity: sha512-AVka33+f7MvXEEIGq5U0dhaA2SaXMXnxVCQyhJTaCnJ5bRDj0Xlm3ijwDEQUiaDql7EikbkkRtmlvs95eSUWYQ==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' '@polkadot/x-randomvalues': '*' - '@polkadot/wasm-crypto-wasm@7.3.2': - resolution: {integrity: sha512-15wd0EMv9IXs5Abp1ZKpKKAVyZPhATIAHfKsyoWCEFDLSOA0/K0QGOxzrAlsrdUkiKZOq7uzSIgIDgW8okx2Mw==} + '@polkadot/wasm-crypto-wasm@7.4.1': + resolution: {integrity: sha512-PE1OAoupFR0ZOV2O8tr7D1FEUAwaggzxtfs3Aa5gr+yxlSOaWUKeqsOYe1KdrcjmZVV3iINEAXxgrbzCmiuONg==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' - '@polkadot/wasm-crypto@7.3.2': - resolution: {integrity: sha512-+neIDLSJ6jjVXsjyZ5oLSv16oIpwp+PxFqTUaZdZDoA2EyFRQB8pP7+qLsMNk+WJuhuJ4qXil/7XiOnZYZ+wxw==} + '@polkadot/wasm-crypto@7.4.1': + resolution: {integrity: sha512-kHN/kF7hYxm1y0WeFLWeWir6oTzvcFmR4N8fJJokR+ajYbdmrafPN+6iLgQVbhZnDdxyv9jWDuRRsDnBx8tPMQ==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' '@polkadot/x-randomvalues': '*' - '@polkadot/wasm-util@7.3.2': - resolution: {integrity: sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==} + '@polkadot/wasm-util@7.4.1': + resolution: {integrity: sha512-RAcxNFf3zzpkr+LX/ItAsvj+QyM56TomJ0xjUMo4wKkHjwsxkz4dWJtx5knIgQz/OthqSDMR59VNEycQeNuXzA==} engines: {node: '>=18'} peerDependencies: '@polkadot/util': '*' - '@polkadot/x-bigint@12.6.2': - resolution: {integrity: sha512-HSIk60uFPX4GOFZSnIF7VYJz7WZA7tpFJsne7SzxOooRwMTWEtw3fUpFy5cYYOeLh17/kHH1Y7SVcuxzVLc74Q==} + '@polkadot/x-bigint@13.2.3': + resolution: {integrity: sha512-VKgEAh0LsxTd/Hg517Tt5ZU4CySjBwMpaojbkjgv3fOdg1cN7t4eFEUxpyj7mlO0cp22SzDh7nmy4TO98qhLQA==} engines: {node: '>=18'} - '@polkadot/x-global@12.6.2': - resolution: {integrity: sha512-a8d6m+PW98jmsYDtAWp88qS4dl8DyqUBsd0S+WgyfSMtpEXu6v9nXDgPZgwF5xdDvXhm+P0ZfVkVTnIGrScb5g==} + '@polkadot/x-global@13.2.3': + resolution: {integrity: sha512-7MYQIAEwBkRcNrgqac5PbB0kNPlI6ISJEy6/Nb+crj8BFjQ8rf11PF49fq0QsvDeuYM1aNLigrvYZNptQs4lbw==} engines: {node: '>=18'} - '@polkadot/x-randomvalues@12.6.2': - resolution: {integrity: sha512-Vr8uG7rH2IcNJwtyf5ebdODMcr0XjoCpUbI91Zv6AlKVYOGKZlKLYJHIwpTaKKB+7KPWyQrk4Mlym/rS7v9feg==} + '@polkadot/x-randomvalues@13.2.3': + resolution: {integrity: sha512-Zf0GTfLmVk+VzPUmcQSpXjjmFzMTjPhXoLuIoE7xIu73T+vQ+TX9j7DvorN6bIRsnZ9l1SyTZsSf/NTjNZKIZg==} engines: {node: '>=18'} peerDependencies: - '@polkadot/util': 12.6.2 + '@polkadot/util': 13.2.3 '@polkadot/wasm-util': '*' - '@polkadot/x-textdecoder@12.6.2': - resolution: {integrity: sha512-M1Bir7tYvNappfpFWXOJcnxUhBUFWkUFIdJSyH0zs5LmFtFdbKAeiDXxSp2Swp5ddOZdZgPac294/o2TnQKN1w==} + '@polkadot/x-textdecoder@13.2.3': + resolution: {integrity: sha512-i8hRXPtGknmdm3FYv6/94I52VXHJZa5sgYNw1+Hqb4Jqmq4awUjea35CKXd/+aw70Qn8Ngg31l2GoiH494fa+Q==} engines: {node: '>=18'} - '@polkadot/x-textencoder@12.6.2': - resolution: {integrity: sha512-4N+3UVCpI489tUJ6cv3uf0PjOHvgGp9Dl+SZRLgFGt9mvxnvpW/7+XBADRMtlG4xi5gaRK7bgl5bmY6OMDsNdw==} + '@polkadot/x-textencoder@13.2.3': + resolution: {integrity: sha512-wJI3Bb/dC4zyBXJFm5+ZhyBXWoI5wvP8k8qX0/ZC0PQsgSAqs7LVhiofk4Wd94n0P41W5re58LrGXLyziSAshw==} engines: {node: '>=18'} '@rollup/rollup-android-arm-eabi@4.16.4': @@ -649,17 +661,17 @@ packages: '@rushstack/eslint-patch@1.10.2': resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} - '@scure/base@1.1.6': - resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + '@scure/base@1.2.1': + resolution: {integrity: sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==} - '@substrate/ss58-registry@1.47.0': - resolution: {integrity: sha512-6kuIJedRcisUJS2pgksEH2jZf3hfSIVzqtFzs/AyjTW3ETbMg5q1Bb7VWa0WYaT6dTrEXp/6UoXM5B9pSIUmcw==} + '@substrate/ss58-registry@1.51.0': + resolution: {integrity: sha512-TWDurLiPxndFgKjVavCniytBIw+t4ViOi7TYp9h/D0NMmkEc9klFTo+827eyEJ0lELpqO207Ey7uGxUa+BS1jQ==} '@tsconfig/node20@20.1.4': resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} - '@types/bn.js@5.1.5': - resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} + '@types/bn.js@5.1.6': + resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} '@types/dns-packet@5.6.5': resolution: {integrity: sha512-qXOC7XLOEe43ehtWJCMnQXvgcIpv6rPmQ1jXT98Ad8A3TB1Ue50jsCbSSSyuazScEuZ/Q026vHbrOTVkmwA+7Q==} @@ -1042,6 +1054,7 @@ packages: eslint@8.57.0: resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true espree@9.6.1: @@ -1144,6 +1157,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} @@ -1197,6 +1211,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -1593,6 +1608,7 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rollup@4.16.4: @@ -1680,8 +1696,8 @@ packages: peerDependencies: typescript: '>=4.2.0' - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} tsx@4.7.3: resolution: {integrity: sha512-+fQnMqIp/jxZEXLcj6WzYy9FhcS5/Dfk8y4AtzJ6ejKcKqmfTF8Gso/jtrzDggCF2zTU20gJa6n8XqPYwDAUYQ==} @@ -2090,104 +2106,110 @@ snapshots: '@pkgr/core@0.1.1': {} - '@polkadot/networks@12.6.2': + '@polkadot/keyring@13.2.3(@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3))(@polkadot/util@13.2.3)': + dependencies: + '@polkadot/util': 13.2.3 + '@polkadot/util-crypto': 13.2.3(@polkadot/util@13.2.3) + tslib: 2.8.1 + + '@polkadot/networks@13.2.3': dependencies: - '@polkadot/util': 12.6.2 - '@substrate/ss58-registry': 1.47.0 - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + '@substrate/ss58-registry': 1.51.0 + tslib: 2.8.1 - '@polkadot/util-crypto@12.6.2(@polkadot/util@12.6.2)': + '@polkadot/util-crypto@13.2.3(@polkadot/util@13.2.3)': dependencies: '@noble/curves': 1.4.0 '@noble/hashes': 1.4.0 - '@polkadot/networks': 12.6.2 - '@polkadot/util': 12.6.2 - '@polkadot/wasm-crypto': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))) - '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/x-bigint': 12.6.2 - '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)) - '@scure/base': 1.1.6 - tslib: 2.6.2 - - '@polkadot/util@12.6.2': - dependencies: - '@polkadot/x-bigint': 12.6.2 - '@polkadot/x-global': 12.6.2 - '@polkadot/x-textdecoder': 12.6.2 - '@polkadot/x-textencoder': 12.6.2 - '@types/bn.js': 5.1.5 + '@polkadot/networks': 13.2.3 + '@polkadot/util': 13.2.3 + '@polkadot/wasm-crypto': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))) + '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/x-bigint': 13.2.3 + '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)) + '@scure/base': 1.2.1 + tslib: 2.8.1 + + '@polkadot/util@13.2.3': + dependencies: + '@polkadot/x-bigint': 13.2.3 + '@polkadot/x-global': 13.2.3 + '@polkadot/x-textdecoder': 13.2.3 + '@polkadot/x-textencoder': 13.2.3 + '@types/bn.js': 5.1.6 bn.js: 5.2.1 - tslib: 2.6.2 + tslib: 2.8.1 - '@polkadot/wasm-bridge@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))': + '@polkadot/wasm-bridge@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))': dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)) - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)) + tslib: 2.8.1 - '@polkadot/wasm-crypto-asmjs@7.3.2(@polkadot/util@12.6.2)': + '@polkadot/wasm-crypto-asmjs@7.4.1(@polkadot/util@13.2.3)': dependencies: - '@polkadot/util': 12.6.2 - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + tslib: 2.8.1 - '@polkadot/wasm-crypto-init@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))': + '@polkadot/wasm-crypto-init@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))': dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))) - '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)) - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + '@polkadot/wasm-bridge': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))) + '@polkadot/wasm-crypto-asmjs': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/wasm-crypto-wasm': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)) + tslib: 2.8.1 - '@polkadot/wasm-crypto-wasm@7.3.2(@polkadot/util@12.6.2)': + '@polkadot/wasm-crypto-wasm@7.4.1(@polkadot/util@13.2.3)': dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3) + tslib: 2.8.1 - '@polkadot/wasm-crypto@7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)))': + '@polkadot/wasm-crypto@7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)))': dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/wasm-bridge': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))) - '@polkadot/wasm-crypto-asmjs': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/wasm-crypto-init': 7.3.2(@polkadot/util@12.6.2)(@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))) - '@polkadot/wasm-crypto-wasm': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/x-randomvalues': 12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)) - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + '@polkadot/wasm-bridge': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))) + '@polkadot/wasm-crypto-asmjs': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/wasm-crypto-init': 7.4.1(@polkadot/util@13.2.3)(@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))) + '@polkadot/wasm-crypto-wasm': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/x-randomvalues': 13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)) + tslib: 2.8.1 - '@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2)': + '@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3)': dependencies: - '@polkadot/util': 12.6.2 - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + tslib: 2.8.1 - '@polkadot/x-bigint@12.6.2': + '@polkadot/x-bigint@13.2.3': dependencies: - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 + '@polkadot/x-global': 13.2.3 + tslib: 2.8.1 - '@polkadot/x-global@12.6.2': + '@polkadot/x-global@13.2.3': dependencies: - tslib: 2.6.2 + tslib: 2.8.1 - '@polkadot/x-randomvalues@12.6.2(@polkadot/util@12.6.2)(@polkadot/wasm-util@7.3.2(@polkadot/util@12.6.2))': + '@polkadot/x-randomvalues@13.2.3(@polkadot/util@13.2.3)(@polkadot/wasm-util@7.4.1(@polkadot/util@13.2.3))': dependencies: - '@polkadot/util': 12.6.2 - '@polkadot/wasm-util': 7.3.2(@polkadot/util@12.6.2) - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 + '@polkadot/util': 13.2.3 + '@polkadot/wasm-util': 7.4.1(@polkadot/util@13.2.3) + '@polkadot/x-global': 13.2.3 + tslib: 2.8.1 - '@polkadot/x-textdecoder@12.6.2': + '@polkadot/x-textdecoder@13.2.3': dependencies: - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 + '@polkadot/x-global': 13.2.3 + tslib: 2.8.1 - '@polkadot/x-textencoder@12.6.2': + '@polkadot/x-textencoder@13.2.3': dependencies: - '@polkadot/x-global': 12.6.2 - tslib: 2.6.2 + '@polkadot/x-global': 13.2.3 + tslib: 2.8.1 '@rollup/rollup-android-arm-eabi@4.16.4': optional: true @@ -2239,13 +2261,13 @@ snapshots: '@rushstack/eslint-patch@1.10.2': {} - '@scure/base@1.1.6': {} + '@scure/base@1.2.1': {} - '@substrate/ss58-registry@1.47.0': {} + '@substrate/ss58-registry@1.51.0': {} '@tsconfig/node20@20.1.4': {} - '@types/bn.js@5.1.5': + '@types/bn.js@5.1.6': dependencies: '@types/node': 20.12.7 @@ -3353,7 +3375,7 @@ snapshots: synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.2 + tslib: 2.8.1 text-table@0.2.0: {} @@ -3367,7 +3389,7 @@ snapshots: dependencies: typescript: 5.4.5 - tslib@2.6.2: {} + tslib@2.8.1: {} tsx@4.7.3: dependencies: diff --git a/scripts/configure-rpc-addresses.sh b/scripts/configure-rpc-addresses.sh new file mode 100644 index 0000000..7d078d0 --- /dev/null +++ b/scripts/configure-rpc-addresses.sh @@ -0,0 +1,19 @@ +#!/bin/sh +set -ex + +# --- addresses --- +# enable p2p, quic, webtransport, webrtc +# ipfs config Swarm.Transports.Network.Websocket --json true +# internal port is always 4001 +ipfs config Addresses.Swarm --json '[ + "/ip4/0.0.0.0/tcp/4001", + "/ip6/::/tcp/4001", + "/ip4/0.0.0.0/udp/4001/quic-v1", + "/ip6/::/udp/4001/quic-v1" +]' +# configure the addresses to announce +# KUBO_PORT is external port mapped in docker compose to 4001 +ipfs config Addresses.Announce --json "[ + \"/dns/$KUBO_DOMAIN/tcp/$KUBO_PORT\", + \"/dns/$KUBO_DOMAIN/udp/$KUBO_PORT/quic-v1\" +]" diff --git a/src/scripts/datapod-profile-example.ts b/src/scripts/datapod-profile-example.ts new file mode 100644 index 0000000..014f849 --- /dev/null +++ b/src/scripts/datapod-profile-example.ts @@ -0,0 +1,79 @@ +// This script shows a minimal working example to publish a datapod profile + +import { readFileSync } from 'fs' +import { CESIUM_PLUS_PROFILE_INSERT } from '../consts' +import type { IndexRequest } from '../types' +import { create } from 'kubo-rpc-client' +import type { ImportCandidate, KuboRPCClient } from 'kubo-rpc-client' +import { buildStringPayload } from '../collector' +import { Keyring } from '@polkadot/keyring' +import { u8aToHex } from '@polkadot/util' + +// This public Kubo node exposes features necessary to upload data and relay to datapod network +// This is a simple alternative to embedding an ipfs node when it is not possible or suited +const KUBO_RPC = 'https://rpc.datapod.gyroi.de/' + +const kubo: KuboRPCClient = create({ + url: new URL(KUBO_RPC) +}) + +async function main() { + // 0. keyring + const keyring = new Keyring({ type: 'ed25519', ss58Format: 42 }) + const alice = keyring.addFromUri('//Alice') + + // 1. profile picture + // simply get image as buffer for demo + const img = getImage() + // upload the image and get its CID + const img_cid = (await kubo.add(img)).cid + + // 2. profile + // build the profile + const data = { title: 'Alice Example', description: 'This is a demo', avatar: img_cid } + // upload the profile and get its CID + const data_cid = await kubo.dag.put(data) + + // 3. partial index request + // build the index request + const ir: IndexRequest = { + pubkey: alice.address, + time: Date.now(), + kind: CESIUM_PLUS_PROFILE_INSERT, + data: data_cid, + sig: null + } + + // 4. signature + // define the binary payload + const payload = buildStringPayload(ir) + // sign the payload + const signature = alice.sign(payload) + // put signature in partial index request + ir.sig = u8aToHex(signature) + + // 5. index request + // upload index request + const ir_cid = await kubo.dag.put(ir) + + // 6. broadcast index request CID on pubsub + const enc = new TextEncoder() + await kubo.pubsub.publish('ddd', enc.encode(ir_cid.toString() + '\n')) + + console.log(`➡️ published ${ir_cid} on pubsub`) + console.log('➡️ corresponding to the following index request') + console.log(ir) + console.log('➡️ that has the given profile') + console.log(data) + console.log('➡️ you can visit the following link to confirm that data has been indexed') + console.log('https://duniter--vue-coinduf-eu.ipns.pagu.re/#/data/' + alice.address) +} + +main() + +// get image for demo purpose +function getImage(): ImportCandidate { + const buffer = readFileSync('logo.png') + const bytearray = new Uint8Array(buffer) + return { content: bytearray } +} -- GitLab