Skip to content

Commit 65c26b8

Browse files
Pilot (#25)
* Update testcase.ts * Testing build issue * Testing build issue * updated readme,changed package version * Updated README.md Co-authored-by: Shivam kumar <[email protected]>
1 parent 35e4dc3 commit 65c26b8

File tree

12 files changed

+841
-564
lines changed

12 files changed

+841
-564
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
11
build
2-
dist

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Storj-Nodejs Changelog
22

3+
## [1.2.0]-29-01-2021
4+
* Updated HelloStorj.js
5+
* Updated package.json
6+
* Updated documentation
7+
38
## [1.0.9] - 27-11-2020
49
* Merged PR
510

HelloStorj.js

Lines changed: 47 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,19 @@ const fs = require("fs");
22

33
//include the Node.js-Storj bindings module
44
const storj = require("uplink-nodejs");
5-
//object for all the function for uplink
5+
6+
//Object for all the function for uplink
67
const libUplink = new storj.Uplink();
8+
79
//Object for all error for uplink
810
const uplinkError = storj.errorhandle;
9-
//
11+
1012
var BUFFER_SIZE = 80000;
11-
//
13+
1214
//demo Storj (V3) configuration
1315
var storjConfig = {
1416
apiKey : "change-me-to-the-api-key-created-in-satellite-gui",
15-
satelliteURL : "us-central-1.tardigrade.io:7777",
17+
satelliteURL : "change-me-to-desired-satellite-url",
1618
encryptionPassphrase : "you'll never guess this",
1719
bucketName : "change-me-to-desired-bucket-name",
1820
uploadPath : "optionalpath/requiredfilename",
@@ -23,7 +25,7 @@ var localFullFileName = {
2325
src : "change-me-to-source-file-name-at-local-system",
2426
dest: "change-me-to-destination-file-name-at-local-system",
2527
};
26-
//
28+
2729
function getDateTime(unixTimestamp) {
2830
var dateTime = new Date(unixTimestamp * 1000);
2931

@@ -47,8 +49,10 @@ function getDateTime(unixTimestamp) {
4749

4850
//Hours part from the timestamp
4951
var hours = "0" + dateTime.getHours();
52+
5053
//Minutes part from the timestamp
5154
var minutes = "0" + dateTime.getMinutes();
55+
5256
//Seconds part from the timestamp
5357
var seconds = "0" + dateTime.getSeconds();
5458

@@ -57,7 +61,7 @@ function getDateTime(unixTimestamp) {
5761

5862
return formattedDateTime;
5963
}
60-
//
64+
6165
async function accessshare(uplink,access){
6266
var permission = new storj.Permission(false,false,false,true,0,0);
6367
var sharePrefix = storj.SharePrefix;
@@ -66,31 +70,30 @@ async function accessshare(uplink,access){
6670
sharePrefix.prefix ="change-me-to-desired-object-prefix-with-/";
6771
sharePrefixListArray.push(sharePrefix);
6872
await access.share(permission,sharePrefixListArray,sharePrefixListArray.length).then(async (sharedAccess) => {
69-
//
73+
7074
console.log("Serilazing share access");
7175
await sharedAccess.serialize().then(async (stringResult) => {
72-
//
76+
7377
console.log("Parsing access share...");
7478
await uplink.parseAccess(stringResult).then(async (parsedSharedAccess) => {
75-
//
79+
7680
console.log("\nDeriving encryption key");
77-
//
81+
7882
var encryption = await libUplink.uplinkDeriveEncryptionKey("test",[4,5,6]).catch((error) => {
7983
console.log("Failed to derive encryption key");
8084
console.log(error);
8185
});
82-
//
86+
8387
console.log("Over riding encryption key");
84-
//
88+
8589
await parsedSharedAccess.overrideEncryptionKey(sharePrefix.bucket,sharePrefix.prefix,encryption["encryption_key"]).catch((err) => {
8690
console.log("Failed to over write encryption key");
8791
console.log(err);
8892
});
89-
//
93+
9094
console.log("Opening project using paresed shared access");
9195
await parsedSharedAccess.openProject().then(async (project) => {
92-
//
93-
//
96+
9497
console.log("\nOpened Project using share access");
9598
await project.deleteObject(storjConfig.bucketName,storjConfig.uploadPath).then((objectInfo) => {
9699
console.log("\nObject Deleted successfully !!");
@@ -99,7 +102,7 @@ async function accessshare(uplink,access){
99102
console.log("Failed to delete object on storj V3 network using shared access");
100103
console.log(err);
101104
});
102-
//
105+
103106
await project.close().then(() => {
104107
console.log("Project Closed !!");
105108
}).catch((err) => {
@@ -126,10 +129,11 @@ async function accessshare(uplink,access){
126129
/*eslint-disable */
127130
async function uploadfile(project){
128131
console.log("Getting Upload Object....");
129-
//
132+
130133
var uploadOptions = new storj.UploadOptions();
131-
//
134+
132135
uploadOptions.expires = 0;
136+
133137
//Uploading object on storj V3 network
134138
await project.uploadObject(storjConfig.bucketName,storjConfig.uploadPath,uploadOptions).then(async (upload) => {
135139
console.log(localFullFileName.src, " File: UPLOADED as ", storjConfig.uploadPath, "!");
@@ -140,22 +144,23 @@ async function uploadfile(project){
140144
actuallyWritten : 0,
141145
totalWritten : 0
142146
};
143-
//
147+
144148
var buffer = new Buffer.alloc(BUFFER_SIZE);
145149
var loop = true;
146150
var bytesRead = 0;
151+
147152
while (loop) {
148-
//
153+
149154
size.toWrite = size.file - size.totalWritten;
150-
//
155+
151156
if (size.toWrite > BUFFER_SIZE) {
152157
size.toWrite = BUFFER_SIZE;
153158
} else if (size.toWrite === 0) {
154159
break;
155160
}
156-
//
161+
157162
bytesRead = await fs.readSync(fileHandle, buffer, 0, size.toWrite, size.totalWritten);
158-
//
163+
159164
//Writing data on storj V3 network
160165
await upload.write(buffer,bytesRead).then((writeResult) => {
161166
size.actuallyWritten = writeResult.bytes_written;
@@ -172,7 +177,7 @@ async function uploadfile(project){
172177
break;
173178
}
174179
}
175-
//
180+
176181
var customMetadataEntry1 =new storj.CustomMetadataEntry();
177182
customMetadataEntry1.key = "testing";
178183
customMetadataEntry1.key_length = customMetadataEntry1.key.length;
@@ -192,20 +197,23 @@ async function uploadfile(project){
192197
var customMetadata = new storj.CustomMetadata();
193198
customMetadata.count = customMetadataEntryArray.length;
194199
customMetadata.entries = customMetadataEntryArray;
200+
195201
//Adding custom meta to upload object
196202
await upload.setCustomMetadata(customMetadata).then(() => {
197203
console.log("\nCustom Metadata set successfully");
198204
}).catch((err) => {
199205
console.log("Failed to set custom metadata");
200206
console.log(err);
201207
});
208+
202209
//Commiting object on storj V3 network
203210
await upload.commit().then(() => {
204211
console.log("\nObject on storj V3 network successfully");
205212
}).catch((err) => {
206213
console.log("Failed to commit object on storj V3 network");
207214
console.log(err);
208215
});
216+
209217
//Fetching info of uploaded object on storj V3 network
210218
await upload.info().then((object) => {
211219
console.log("\nObject Info");
@@ -214,7 +222,7 @@ async function uploadfile(project){
214222
console.log("Failed to fetch information about object");
215223
console.log(err);
216224
});
217-
//
225+
218226
fs.closeSync(fileHandle);
219227
}).catch((err) => {
220228
console.log("Failed to upload object on storj V3");
@@ -228,32 +236,34 @@ async function downloadfile(project){
228236
var downloadOptions = new storj.DownloadOptions();
229237
downloadOptions.offset = 0;
230238
downloadOptions.length = -1;
239+
231240
//Downloading file
232241
console.log("Downloading file");
233242
await project.downloadObject(storjConfig.bucketName,storjConfig.uploadPath,downloadOptions).then(async (download) => {
234243
var objectsize =0;
235-
//
244+
236245
console.log("Fetching download object info");
237246
await download.info().then((objectInfo) => {
238247
objectsize = objectInfo.system.content_length;
239248
}).catch((err) => {
240249
console.log("Failed to get downloading object info");
241250
console.log(err);
242251
});
243-
//
252+
244253
var size = { download : 0,
245254
actuallyWritten : 0,
246255
totalWritten : 0};
247256
var buffer = new Buffer.alloc(BUFFER_SIZE);
248-
//
257+
249258
var fileHandle = await fs.openSync(localFullFileName.dest, "w");
250-
//
259+
251260
var loop = true;
252261
while(loop) {
253262
if((objectsize-size.totalWritten>0)&&(objectsize-size.totalWritten)<BUFFER_SIZE){
254263
buffer = null;
255264
buffer = new Buffer.alloc(objectsize-size.totalWritten);
256265
}
266+
257267
//Reading data from storj V3 network
258268
await download.read(buffer,buffer.length).then(async (bytesread) => {
259269
size.download = bytesread.bytes_read;
@@ -287,10 +297,9 @@ async function downloadfile(project){
287297
console.log("Failed to download file");
288298
console.log(err);
289299
});
290-
291300
}
292301

293-
//
302+
294303
//Connecting to storj network using Satellite Address , Storj API key , Encryption phassphrase
295304
console.log("Getting Access\nSatellite Address : ",storjConfig.satelliteURL,"\nAPI key : ",storjConfig.apiKey,"\nEncryption Passphrase : ",storjConfig.encryptionPassphrase);
296305
var access = libUplink.requestAccessWithPassphrase(storjConfig.satelliteURL,storjConfig.apiKey,storjConfig.encryptionPassphrase).then((access) => {
@@ -301,14 +310,14 @@ var access = libUplink.requestAccessWithPassphrase(storjConfig.satelliteURL,stor
301310
console.log("Desired Storj Project: OPENED!");
302311
//Fetching bucket info from the storj V3 network
303312
console.log("Fetching Information About Bucket : ",storjConfig.bucketName);
304-
//
313+
305314
await project.statBucket(storjConfig.bucketName).then((bucketInfo) => {
306315
console.log("\nBucket Information : \n Bucket Name : ",bucketInfo.name,"\n Bucket Created : ",getDateTime(bucketInfo.created));
307316
}).catch((err) => {
308317
console.log("Failed to get bucket Info");
309318
console.log(err);
310319
});
311-
//
320+
312321
//Creating bucket on storj V3 Network
313322
console.log("\nCreating Bucket : ",storjConfig.bucketName);
314323
await project.createBucket(storjConfig.bucketName).then((bucketInfo) => {
@@ -325,7 +334,7 @@ var access = libUplink.requestAccessWithPassphrase(storjConfig.satelliteURL,stor
325334
console.log("Failed to fetch bucket Info");
326335
console.log(err);
327336
});
328-
//
337+
329338
//Listing buckets on storj V3 network
330339
var listBucketsOptions = new storj.ListBucketsOptions();
331340
await project.listBuckets(listBucketsOptions).then(async (bucketListResult) => {
@@ -345,7 +354,7 @@ var access = libUplink.requestAccessWithPassphrase(storjConfig.satelliteURL,stor
345354
});
346355
//Uploading file on storj V3 network
347356
await uploadfile(project);
348-
//
357+
349358
//Fetching info of uploaded object
350359
console.log("Fetching object Info...");
351360
await project.statObject(storjConfig.bucketName,storjConfig.uploadPath).then((objectinfo) => {
@@ -381,7 +390,7 @@ var access = libUplink.requestAccessWithPassphrase(storjConfig.satelliteURL,stor
381390
await downloadfile(project,libUplink);
382391
//Creating share access
383392
await accessshare(libUplink,access);
384-
//
393+
385394
//Deleting bucket from the storj V3 network
386395
console.log("Deleting Bucket : ",storjConfig.bucketName);
387396
await project.deleteBucket(storjConfig.bucketName).then((bucketInfo) => {
@@ -403,17 +412,15 @@ var access = libUplink.requestAccessWithPassphrase(storjConfig.satelliteURL,stor
403412
console.log(err);
404413
}
405414
});
406-
//
407-
//
415+
408416
console.log("Deleting Bucket : ",storjConfig.bucketName);
409417
await project.deleteBucket(storjConfig.bucketName).then((bucketInfo) => {
410418
console.log("\nBucket Deleted : \n Bucket Name : ",bucketInfo.name,"\n Bucket Created : ",getDateTime(bucketInfo.created));
411419
}).catch((err) => {
412420
console.log("Failed to delete bucket");
413421
console.log(err);
414422
});
415-
//
416-
//
423+
417424
//Closing opened project
418425
await project.close().then(() => {
419426
console.log("\nProject closed successfully");

HelloStorjTS.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const BUFFER_SIZE = 80000,
3131
"apiKey": "change-me-to-the-api-key-created-in-satellite-gui",
3232
"bucketName": "change-me-to-desired-bucket-name",
3333
"encryptionPassphrase": "you'll never guess this",
34-
"satelliteURL": "us-central-1.tardigrade.io:7777",
34+
"satelliteURL": "change-me-to-desired-satellite-url",
3535
"uploadPath": "optionalpath/requiredfilename"
3636
},
3737
//

0 commit comments

Comments
 (0)