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.
Syncing