Set IPFS maddr in demo, show uploaded result

This commit is contained in:
folex
2021-07-21 15:23:42 +03:00
parent 19cc6b8546
commit e3139fe515
4 changed files with 706 additions and 67 deletions

View File

@ -1295,6 +1295,122 @@
"resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz",
"integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ=="
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
},
"dependencies": {
"cids": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz",
"integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==",
"requires": {
"multibase": "^4.0.1",
"multicodec": "^3.0.1",
"multihashes": "^4.0.1",
"uint8arrays": "^2.1.3"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
}
}
},
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
"integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==",
"requires": {
"@multiformats/base-x": "^4.0.1",
"web-encoding": "^1.0.6"
}
},
"multicodec": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.0.tgz",
"integrity": "sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ==",
"requires": {
"uint8arrays": "^2.1.5",
"varint": "^6.0.0"
},
"dependencies": {
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
},
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
}
}
},
"multihashes": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz",
"integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==",
"requires": {
"multibase": "^4.0.1",
"uint8arrays": "^2.1.3",
"varint": "^5.0.2"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"uint8arrays": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz",
"integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==",
"requires": {
"multibase": "^3.0.0",
"web-encoding": "^1.0.2"
}
},
"uuid": {
"version": "8.3.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.0.tgz",
@ -16821,6 +16937,46 @@
}
}
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
},
"dependencies": {
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
"integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==",
"requires": {
"@multiformats/base-x": "^4.0.1",
"web-encoding": "^1.0.6"
}
},
"uint8arrays": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz",
"integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==",
"requires": {
"multibase": "^3.0.0",
"web-encoding": "^1.0.2"
}
},
"varint": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/varint/-/varint-5.0.2.tgz",
"integrity": "sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow=="
}
}
},
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
@ -17022,6 +17178,37 @@
"ieee754": "^1.1.13"
}
},
"cids": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz",
"integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==",
"requires": {
"multibase": "^4.0.1",
"multicodec": "^3.0.1",
"multihashes": "^4.0.1",
"uint8arrays": "^2.1.3"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"multihashes": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz",
"integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==",
"requires": {
"multibase": "^4.0.1",
"uint8arrays": "^2.1.3",
"varint": "^5.0.2"
}
}
}
},
"it-length-prefixed": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/it-length-prefixed/-/it-length-prefixed-3.1.0.tgz",
@ -17033,6 +17220,32 @@
"varint": "^5.0.0"
}
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
},
"dependencies": {
"uint8arrays": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz",
"integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==",
"requires": {
"multibase": "^3.0.0",
"web-encoding": "^1.0.2"
}
}
}
},
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
@ -17042,6 +17255,22 @@
"web-encoding": "^1.0.6"
}
},
"multicodec": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.0.tgz",
"integrity": "sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ==",
"requires": {
"uint8arrays": "^2.1.5",
"varint": "^6.0.0"
},
"dependencies": {
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
}
}
},
"multihashes": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-3.1.2.tgz",
@ -17231,6 +17460,35 @@
"private-ip": "^2.1.1"
},
"dependencies": {
"cids": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz",
"integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==",
"requires": {
"multibase": "^4.0.1",
"multicodec": "^3.0.1",
"multihashes": "^4.0.1",
"uint8arrays": "^2.1.3"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"ip-address": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/ip-address/-/ip-address-6.4.0.tgz",
@ -17250,10 +17508,95 @@
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz",
"integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA="
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
}
},
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
"integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==",
"requires": {
"@multiformats/base-x": "^4.0.1",
"web-encoding": "^1.0.6"
}
},
"multicodec": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.0.tgz",
"integrity": "sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ==",
"requires": {
"uint8arrays": "^2.1.5",
"varint": "^6.0.0"
},
"dependencies": {
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
},
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
}
}
},
"multihashes": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz",
"integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==",
"requires": {
"multibase": "^4.0.1",
"uint8arrays": "^2.1.3",
"varint": "^5.0.2"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"sprintf-js": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
},
"uint8arrays": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz",
"integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==",
"requires": {
"multibase": "^3.0.0",
"web-encoding": "^1.0.2"
}
}
}
},
@ -17276,15 +17619,136 @@
"p-timeout": "^4.1.0"
},
"dependencies": {
"cids": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz",
"integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==",
"requires": {
"multibase": "^4.0.1",
"multicodec": "^3.0.1",
"multihashes": "^4.0.1",
"uint8arrays": "^2.1.3"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"err-code": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
"integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
},
"dependencies": {
"err-code": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
"integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA=="
}
}
},
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
"integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==",
"requires": {
"@multiformats/base-x": "^4.0.1",
"web-encoding": "^1.0.6"
}
},
"multicodec": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.0.tgz",
"integrity": "sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ==",
"requires": {
"uint8arrays": "^2.1.5",
"varint": "^6.0.0"
},
"dependencies": {
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
},
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
}
}
},
"multihashes": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz",
"integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==",
"requires": {
"multibase": "^4.0.1",
"uint8arrays": "^2.1.3",
"varint": "^5.0.2"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"p-timeout": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-4.1.0.tgz",
"integrity": "sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw=="
},
"uint8arrays": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz",
"integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==",
"requires": {
"multibase": "^3.0.0",
"web-encoding": "^1.0.2"
}
}
}
},
@ -17488,6 +17952,122 @@
"integrity": "sha512-wwZ5+PU0vQw10kwQRyZin1Z0dqVOp0BnYlX1xvXHS2fmLwrrQCfU1+3tlW5MRcihUwGz1virnVhbRAU1biKfiw==",
"requires": {
"multiaddr": "^8.0.0"
},
"dependencies": {
"cids": {
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/cids/-/cids-1.1.7.tgz",
"integrity": "sha512-dlh+K0hMwFAFFjWQ2ZzxOhgGVNVREPdmk8cqHFui2U4sOodcemLMxdE5Ujga4cDcDQhWfldEPThkfu6KWBt1eA==",
"requires": {
"multibase": "^4.0.1",
"multicodec": "^3.0.1",
"multihashes": "^4.0.1",
"uint8arrays": "^2.1.3"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
}
},
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
"integrity": "sha512-bpklWHs70LO3smJUHOjcnzGceJJvn9ui0Vau6Za0B/GBepaXswmW8Ufea0uD9pROf/qCQ4N4lZ3sf3U+SNf0tw==",
"requires": {
"@multiformats/base-x": "^4.0.1",
"web-encoding": "^1.0.6"
}
},
"multicodec": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/multicodec/-/multicodec-3.1.0.tgz",
"integrity": "sha512-f6d4DhbQ9a8WiJ/wpbKgeJSeR0/juP/1wnjbKdZ0KAWDkC/z7Lb3xOegMUG+uTcfwSYf6j1eTvFf8HDgqPRGmQ==",
"requires": {
"uint8arrays": "^2.1.5",
"varint": "^6.0.0"
},
"dependencies": {
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
},
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
}
}
},
"multihashes": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-4.0.2.tgz",
"integrity": "sha512-xpx++1iZr4ZQHjN1mcrXS6904R36LWLxX/CBifczjtmrtCXEX623DMWOF1eiNSg+pFpiZDFVBgou/4v6ayCHSQ==",
"requires": {
"multibase": "^4.0.1",
"uint8arrays": "^2.1.3",
"varint": "^5.0.2"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multiformats": "^9.4.2"
}
}
}
},
"uint8arrays": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-1.1.0.tgz",
"integrity": "sha512-cLdlZ6jnFczsKf5IH1gPHTtcHtPGho5r4CvctohmQjw8K7Q3gFdfIGHxSTdTaCKrL4w09SsPRJTqRS0drYeszA==",
"requires": {
"multibase": "^3.0.0",
"web-encoding": "^1.0.2"
}
}
}
},
"magic-string": {
@ -18002,18 +18582,36 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-10.0.0.tgz",
"integrity": "sha512-yP3LzFkM0GORZHNenS8Ok2spsaICRBhxLEohAfKKwwrgHIEWrDUhMRIkh/MONDBThNqaiGl7Ch1H7qblRDNHyg==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"err-code": "^3.0.1",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
"multiformats": "^9.0.2",
"uint8arrays": "^2.1.3",
"varint": "^6.0.0"
},
"dependencies": {
"err-code": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/err-code/-/err-code-3.0.1.tgz",
"integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA=="
},
"varint": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
"integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg=="
}
}
},
"multiaddr-to-uri": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz",
"integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==",
"requires": {
"multiaddr": "^8.0.0"
},
"dependencies": {
"cids": {
@ -18036,15 +18634,30 @@
}
},
"uint8arrays": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.5.tgz",
"integrity": "sha512-CSR7AO+4AHUeSOnZ/NBNCElDeWfRh9bXtOck27083kc7SznmmHIhNEkEOCQOn0wvrIMjS3IH0TNLR16vuc46mA==",
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multibase": "^4.0.1"
"multiformats": "^9.4.2"
}
}
}
},
"multiaddr": {
"version": "8.1.2",
"resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-8.1.2.tgz",
"integrity": "sha512-r13IzW8+Sv9zab9Gt8RPMIN2WkptIPq99EpAzg4IbJ/zTELhiEwXWr9bAmEatSCI4j/LSA6ESJzvz95JZ+ZYXQ==",
"requires": {
"cids": "^1.0.0",
"class-is": "^1.1.0",
"dns-over-http-resolver": "^1.0.0",
"err-code": "^2.0.3",
"is-ip": "^3.1.0",
"multibase": "^3.0.0",
"uint8arrays": "^1.1.0",
"varint": "^5.0.0"
}
},
"multibase": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-3.1.2.tgz",
@ -18063,20 +18676,12 @@
"varint": "^6.0.0"
},
"dependencies": {
"multibase": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-4.0.4.tgz",
"integrity": "sha512-8/JmrdSGzlw6KTgAJCOqUBSGd1V6186i/X8dDCGy/lbCKrQ+1QB6f3HE+wPr7Tpdj4U3gutaj9jG2rNX6UpiJg==",
"requires": {
"@multiformats/base-x": "^4.0.1"
}
},
"uint8arrays": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.5.tgz",
"integrity": "sha512-CSR7AO+4AHUeSOnZ/NBNCElDeWfRh9bXtOck27083kc7SznmmHIhNEkEOCQOn0wvrIMjS3IH0TNLR16vuc46mA==",
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multibase": "^4.0.1"
"multiformats": "^9.4.2"
}
},
"varint": {
@ -18105,11 +18710,11 @@
}
},
"uint8arrays": {
"version": "2.1.5",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.5.tgz",
"integrity": "sha512-CSR7AO+4AHUeSOnZ/NBNCElDeWfRh9bXtOck27083kc7SznmmHIhNEkEOCQOn0wvrIMjS3IH0TNLR16vuc46mA==",
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-2.1.7.tgz",
"integrity": "sha512-k+yuEWEHQG/TuRaxL+JVEe8IBqyU5dhDkw+CISCDccOcW90dIju0A6i0Iwav0MK7kg73FZpowqOByS5e/B6GYA==",
"requires": {
"multibase": "^4.0.1"
"multiformats": "^9.4.2"
}
}
}
@ -18125,14 +18730,6 @@
}
}
},
"multiaddr-to-uri": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/multiaddr-to-uri/-/multiaddr-to-uri-6.0.0.tgz",
"integrity": "sha512-OjpkVHOXEmIKMO8WChzzQ7aZQcSQX8squxmvtDbRpy7/QNmJ3Z7jv6qyD74C28QtaeNie8O8ngW2AkeiMmKP7A==",
"requires": {
"multiaddr": "^8.0.0"
}
},
"multibase": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/multibase/-/multibase-0.7.0.tgz",
@ -18187,6 +18784,11 @@
}
}
},
"multiformats": {
"version": "9.4.3",
"resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.3.tgz",
"integrity": "sha512-sCNjBP/NPCeQu83Mst8IQZq9+HuR7Catvk/m7CeH0r/nupsU6gM7GINf5E1HCDRxDeU+Cgda/WPmcwQhYs3dyA=="
},
"multihashes": {
"version": "0.4.21",
"resolved": "https://registry.npmjs.org/multihashes/-/multihashes-0.4.21.tgz",

View File

@ -19,7 +19,8 @@
"react-dom": "^17.0.2",
"react-scripts": "4.0.3",
"typescript": "^4.3.5",
"web-vitals": "^1.1.2"
"web-vitals": "^1.1.2",
"multiaddr": "^10.0.0"
},
"scripts": {
"prestart": "(cd ../aqua; npm run build)",

View File

@ -5,7 +5,8 @@ import "./App.scss";
import { createClient, FluenceClient } from "@fluencelabs/fluence";
import { get_external_api_multiaddr } from "@fluencelabs/aqua-ipfs";
import { stage } from "@fluencelabs/fluence-network-environment";
import { deploy_service, get_file_size, remove_service, provideFile } from "@fluencelabs/ipfs-execution";
import { deploy_service, put_file_size, remove_service, provideFile } from "@fluencelabs/ipfs-execution";
import { Multiaddr, protocols } from 'multiaddr';
const { create, globSource, urlSource, CID } = require('ipfs-http-client');
const relayNodes = [stage[0], stage[1], stage[2]];
@ -14,14 +15,30 @@ const copyToClipboard = (text: string) => {
navigator.clipboard.writeText(text);
};
function fromOption<T>(opt: T | T[] | null): T | null {
if (Array.isArray(opt)) {
if (opt.length === 0) { return null; }
opt = opt[0];
}
if (opt === null) { return null; }
return opt;
}
function decapsulateP2P(rpcAddr: string): string {
return new Multiaddr(rpcAddr).decapsulateCode(protocols.names.p2p.code).toString();
}
function App() {
const [client, setClient] = useState<FluenceClient | null>(null);
const [serviceId, setServiceId] = useState<string | null>(null);
const [wasm, setWasm] = useState<string | null>("QmVg9EnanAbwTuEqjjuc1R2uf3AdtEkrNagSifQMkHfyNU");
const [wasm, setWasm] = useState<string | null>("Qmf8fH2cDZXGKS9uDGBcHxv5uQ51ChrigdZKe3QxS2C1AF");
const [rpcAddr, setRpcAddr] = useState<string | null>("");
const [fileCID, setFileCID] = useState<string>("");
const [fileSize, setFileSize] = useState<string | null>(null);
const [fileSizeCID, setFileSizeCID] = useState<string | null>(null);
const isConnected = client !== null;
const gotRpcAddr = rpcAddr !== null;
@ -46,7 +63,7 @@ function App() {
let result = await get_external_api_multiaddr(client, client.relayPeerId!);
console.log("getRpcAddr result", result);
let rpcAddr = result.multiaddr;
setRpcAddr(rpcAddr);
setRpcAddr(decapsulateP2P(rpcAddr));
}
const deployService = async () => {
@ -54,12 +71,13 @@ function App() {
if (client === null || wasm === null || rpcAddr === null) {
return;
}
let service_id = await deploy_service(
var service_id = await deploy_service(
client,
client.relayPeerId!, wasm, rpcAddr,
(msg, value) => console.log(msg, value),
{ ttl: 10000 }
);
service_id = fromOption(service_id);
setServiceId(service_id);
};
@ -68,19 +86,21 @@ function App() {
return;
}
let size = await get_file_size(
var putResult = await put_file_size(
client,
client.relayPeerId!, fileCID, rpcAddr, serviceId,
size => setFileSize(size.toString()),
(label, error) => setFileSize("Error: " + label + ": " + error),
{ ttl: 10000 }
);
if (size === null) {
putResult = fromOption(putResult);
if (putResult === null) {
return;
}
if (size.success) {
setFileSize(size.size.toString());
if (putResult.success) {
setFileSizeCID(putResult.hash);
} else {
setFileSize("Error: " + size.error);
setFileSizeCID("Error: " + putResult.error);
}
};
@ -153,20 +173,20 @@ function App() {
</button>
</td>
</tr>
<tr>
<td className="bold">IPFS RPC:</td>
<td className="mono">{rpcAddr?.substring(0, 49) + "..."}</td>
<td>
<button
className="btn-clipboard"
onClick={() => copyToClipboard(rpcAddr!)}
>
<i className="gg-clipboard"></i>
</button>
</td>
</tr>
</table>
<div>
<div className="row">
<h2>Set IPFS RPC address:</h2>
<p className="p">
Specify IPFS to download process_files.wasm from
</p>
<input
className="input"
type="text"
onChange={(e) => setRpcAddr(e.target.value)}
value={rpcAddr!}
/>
</div>
<div className="row">
<h2>Set process_files.wasm module CID</h2>
<p className="p">
@ -183,7 +203,7 @@ function App() {
<div>
<h2>Deploy ProcessFiles service</h2>
<p className="p">
process_files.wasm will be downloaded to the Fluence node,
process_files.wasm will be downloaded via IPFS to the Fluence node,
and then a service will be dynamically created from it!
After that, you will be able to use that service to get sizes of IPFS files!
@ -261,6 +281,18 @@ function App() {
</tr>
</table>
<div>
<div className="row">
<h2>Set IPFS RPC address:</h2>
<p className="p">
Specify IPFS to download file from
</p>
<input
className="input"
type="text"
onChange={(e) => setRpcAddr(e.target.value)}
value={rpcAddr!}
/>
</div>
<h2>Get file size</h2>
<p className="p">
Upload any file to IPFS node
@ -281,10 +313,14 @@ function App() {
get size
</button>
</div>
<div className="row">
<label className="label bold">File Size:</label>
<label className="mono"> {fileSize}</label>
</div>
</div>
<div className="row">
<label className="label bold">File Size:</label>
<label className="mono">{fileSize}</label>
</div>
<div className="row">
<label className="label bold">File size is uploaded to IPFS as CID:</label>
<label className="mono">{fileSizeCID}</label>
</div>
</>
</div>