SDK
This document contains the current state of the functionality and documentation of the Skynet SDKs, available in these languages:
as well as the Skynet CLI (written in Go).
The following is a list of functionality and whether it is supported by each language. Cells marked by **
correspond to functionality not yet documented.
Note: You may need to scroll right to see all SDKs.
Functionality | Endpoint | JS | NodeJS | Python | Go | CLI |
---|---|---|---|---|---|---|
Client | ||||||
Create a default client | n/a | SkynetClient() |
SkynetClient() |
SkynetClient() |
skynet.New() |
n/a |
Create a client with custom options | n/a | SkynetClient(portal, opts) |
SkynetClient(portal, opts) |
SkynetClient(portal, opts) |
skynet.NewCustom(portal, opts) |
n/a |
Uploading | ||||||
Upload file | /skynet/skyfile [POST] |
uploadFile |
UploadFile |
upload_file |
UploadFile |
skynet upload |
Upload directory | /skynet/skyfile [POST] with the files field set |
uploadDirectory |
UploadDirectory |
upload_directory |
UploadDirectory |
skynet upload |
Upload file, get full response | /skynet/skyfile [POST] |
uploadFileRequest |
No | upload_file_request |
No | No |
Upload directory, get full response | /skynet/skyfile [POST] |
uploadDirectoryRequest |
No | upload_directory_request |
No | No |
Upload generic data | /skynet/skyfile [POST] |
Not supported | Not supported | Not supported | ** Upload |
Not supported |
Upload with encryption | ** Yes | Not supported | Not supported | Not supported | SkykeyName , SkykeyID |
skykey-name , skykey-id |
Downloading | ||||||
Download file | /skynet/skylink [GET] |
downloadFile / openFile |
DownloadFile |
download_file |
DownloadFile |
skynet download |
Download directory | ** /skynet/skylink [GET] (see format parameter) |
|||||
Download skylink headers | /skynet/skylink [HEAD] |
Not supported | Not supported | get_metadata |
Not supported | Not supported |
Download generic data | /skynet/skylink [GET] |
Not supported | Not supported | Not supported | ** Download |
Not supported |
Download with decryption | ** Yes | Not supported | Not supported | Not supported | SkykeyName , SkykeyID |
skykey-name , skykey-id Not supported |
Encryption | ||||||
Add skykey | /skynet/addskykey [POST] |
Not supported | Not supported | Not supported | AddSkykey |
skynet skykey add |
Create skykey | /skynet/createskykey [POST] |
Not supported | Not supported | Not supported | CreateSkykey |
skynet skykey create |
List all skykeys | /skynet/skykeys [GET] |
Not supported | Not supported | Not supported | GetSkykeys |
skynet skykey list |
Get skykey by name | /skynet/skykey [GET] |
Not supported | Not supported | Not supported | GetSkykeyByName |
skynet skykey get name |
Get skykey by ID | /skynet/skykey [GET] |
Not supported | Not supported | Not supported | GetSkykeyByID |
skynet skykey get id |
Handshake | ||||||
Downloading Handshake files | /hns [GET] |
downloadFileHns |
||||
Resolving Handshake domains | /hnsres [GET] |
resolveHns |
Constant | JS | NodeJS | Python | Go |
---|---|---|---|---|
Default portal URL | defaultSkynetPortalUrl |
defaultPortalUrl |
defaultPortalUrl() |
DefaultPortalURL |
Skynet URI prefix | uriSkynetPrefix |
uri_skynet_prefix |
uri_skynet_prefix() |
URISkynetPrefix |
Test | JS | NodeJS | Python | Go |
---|---|---|---|---|
Directory walking | n/a | No | Yes | Yes |
URL creation | Yes | Yes | Yes | Yes |
Test | JS | NodeJS | Python | Go |
---|---|---|---|---|
Uploading | ||||
Basic file uploads | Yes | Yes | Yes | Yes |
Basic directory uploads | Yes | Yes | Yes | Yes |
Upload files with custom names | Yes | Yes | Yes | Yes |
Upload directories with custom names | Yes | Yes | Yes | Yes |
Upload with skykey | No | No | No | Yes |
Downloading | ||||
Basic file downloads | Yes | Yes | Yes | Yes |
Download with skykey | No | No | No | Yes |
Encryption | ||||
Add skykey | No | No | No | Yes |
Create skykey | No | No | No | Yes |
Get skykey by name/id | No | No | No | Yes |
List skykeys | No | No | No | Yes |
Connection Options | ||||
Authentication | Yes | Yes | Yes | Yes |
Custom User Agent | ||||
Request timeouts | No | No | No | No |
Misc features | Shell | JS | NodeJS | Python | Go | CLI |
---|---|---|---|---|---|---|
Uploading | ||||||
Custom filename | ** Yes | customFilename |
customFilename |
custom_filename |
CustomFilename |
--filename |
Custom dirname | ** Yes | customDirname |
customDirname |
custom_dirname |
CustomDirname |
--dirname |
Default path | ** Yes | No | No | No | No | No |
Dryrun | ** Yes | No | ** dryRun |
No | No | No |
Downloading | ||||||
Path parameter | n/a | Open PR | No | No | No | No |
Common Options | ||||||
Authentication for all the endpoints | --user "":"foobar" |
APIKey |
APIKey |
api_key |
APIKey |
--api-key |
Custom user-agent | -A "Sia-Agent" |
customuserAgent |
customUserAgent |
custom_user_agent |
CustomUserAgent |
--custom-user-agent |
Request timeouts | ** Yes (Set the timeout field) |
No | No | ** timeout_seconds |
No | No |
Query parameter | n/a | Open PR | No | No | No | No |
Uncategorized | ||||||
API defined in separate files instead of one file | n/a | Yes | Yes | Yes | Yes | No |
Encode URLs when making requests | n/a | Open PR | No | No | No | No |
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing