JSON-RPC API
This page contains all Boost API definitions. Interfaces defined here are exposed as JSON-RPC 2.0 endpoints by the boostd daemon.
To use the Boost Go client, the Go RPC-API library can be used to interact with the Boost API node.
- 1.Import the necessary Go module:
go get github.com/filecoin-project/go-jsonrpc
- 1.Create the following script:
package main
​
import (
"context"
"fmt"
"log"
"net/http"
​
jsonrpc "github.com/filecoin-project/go-jsonrpc"
boostapi "github.com/filecoin-project/boost/api"
)
​
func main() {
authToken := "<value found in ~/.boost/token>"
headers := http.Header{"Authorization": []string{"Bearer " + authToken}}
addr := "127.0.0.1:1288"
​
var api boostapi.BoostStruct
closer, err := jsonrpc.NewMergeClient(context.Background(), "ws://"+addr+"/rpc/v0", "Filecoin", []interface{}{&api.Internal, &api.CommonStruct.Internal}, headers)
if err != nil {
log.Fatalf("connecting with boost failed: %s", err)
}
defer closer()
​
// Now you can call any API you're interested in.
netAddrs, err := api.NetAddrsListen(context.Background())
if err != nil {
log.Fatalf("calling netAddrsListen: %s", err)
}
fmt.Printf("Boost is listening on: %s", netAddrs.Addrs[0])
}
- 1.Run
go mod init
to set up yourgo.mod
file - 2.You should now be able to interact with the Boost API.
There are not yet any comments for this method.
Perms: read
Inputs:
[
"f01234"
]
Response:
34359738368
Perms: admin
Inputs:
[
[
"write"
]
]
Response:
"Ynl0ZSBhcnJheQ=="
Perms: read
Inputs:
[
"string value"
]
Response:
[
"write"
]
Perms: admin
Inputs:
[
{
"MaxConcurrency": 123,
"IncludeSealed": true
}
]
Response:
{
"Key": "string value",
"Event": "string value",
"Success": true,
"Error": "string value",
"Total": 123,
"Current": 123
}
Perms: admin
Inputs:
[
"string value"
]
Response:
{}
Perms: admin
Inputs:
[
"07070707-0707-0707-0707-070707070707"
]
Response:
{
"DealUuid": "07070707-0707-0707-0707-070707070707",
"CreatedAt": "0001-01-01T00:00:00Z",
"ClientDealProposal": {
"Proposal": {
"PieceCID": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"PieceSize": 1032,
"VerifiedDeal": true,
"Client": "f01234",
"Provider": "f01234",
"Label": "string value",
"StartEpoch": 10101,
"EndEpoch": 10101,
"StoragePricePerEpoch": "0",
"ProviderCollateral": "0",
"ClientCollateral": "0"
},
"ClientSignature": {
"Type": 2,
"Data": "Ynl0ZSBhcnJheQ=="
}
},
"IsOffline": true,
"ClientPeerID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"DealDataRoot": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"InboundFilePath": "string value",
"Transfer": {
"Type": "string value",
"ClientID": "string value",
"Params": "Ynl0ZSBhcnJheQ==",
"Size": 42
},
"ChainDealID": 5432,
"PublishCID": null,
"SectorID": 9,
"Offset": 1032,
"Length": 1032,
"Checkpoint": 1,
"Err": "string value",
"NBytesReceived": 9
}
Perms: admin
Inputs:
[
{
"DealUUID": "07070707-0707-0707-0707-070707070707",
"IsOffline": true,
"ClientDealProposal": {
"Proposal": {
"PieceCID": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"PieceSize": 1032,
"VerifiedDeal": true,
"Client": "f01234",
"Provider": "f01234",
"Label": "string value",
"StartEpoch": 10101,
"EndEpoch": 10101,
"StoragePricePerEpoch": "0",
"ProviderCollateral": "0",
"ClientCollateral": "0"
},
"ClientSignature": {
"Type": 2,
"Data": "Ynl0ZSBhcnJheQ=="
}
},
"DealDataRoot": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"Transfer": {
"Type": "string value",
"ClientID": "string value",
"Params": "Ynl0ZSBhcnJheQ==",
"Size": 42
}
}
]
Response:
{
"Accepted": true,
"Reason": "string value"
}
There are not yet any comments for this method.
Perms: admin
Inputs:
null
Response:
{}
Perms: admin
Inputs:
[
"string value"
]
Response:
{
"Accepted": true,
"Reason": "string value"
}
Perms: admin
Inputs:
null
Response:
true
Perms: admin
Inputs:
null
Response:
true
Perms: admin
Inputs:
null
Response:
true
There are not yet any comments for this method.
Perms: admin
Inputs:
null
Response:
true
Perms: admin
Inputs:
null
Response:
true
Perms: admin
Inputs:
null
Response:
true
Perms: admin
Inputs:
null
Response:
[
{
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
}
]
Perms: admin
Inputs:
[
true
]
Response:
{}
Perms: admin
Inputs:
[
true
]
Response:
{}
Perms: admin
Inputs:
[
true
]
Response:
{}
Perms: admin
Inputs:
[
true
]
Response:
{}
Perms: admin
Inputs:
[
true
]
Response:
{}
Perms: admin
Inputs:
[
true
]
Response:
{}
Perms: admin
Inputs:
[
[
{
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
}
]
]
Response:
{}
Perms: read
Inputs:
null
Response:
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
Perms: write
Inputs:
null
Response:
[
"string value"
]
Perms: write
Inputs:
[
"string value",
"string value"
]
Response:
{}
Perms: write
Inputs:
null
Response:
{
"TransferID": 3,
"Status": 1,
"BaseCID": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"IsInitiator": true,
"IsSender": true,
"Voucher": "string value",
"Message": "string value",
"OtherPeer": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"Transferred": 42,
"Stages": {
"Stages": [
{
"Name": "string value",
"Description": "string value",
"CreatedTime": "0001-01-01T00:00:00Z",
"UpdatedTime": "0001-01-01T00:00:00Z",
"Logs": [
{
"Log": "string value",
"UpdatedTime": "0001-01-01T00:00:00Z"
}
]
}
]
}
}
Perms: read
Inputs:
null
Response:
{
"Ask": {
"Price": "0",
"VerifiedPrice": "0",
"MinPieceSize": 1032,
"MaxPieceSize": 1032,
"Miner": "f01234",
"Timestamp": 10101,
"Expiry": 10101,
"SeqNo": 42
},
"Signature": {
"Type": 2,
"Data": "Ynl0ZSBhcnJheQ=="
}
}
Perms: read
Inputs:
null
Response:
{
"PricePerByte": "0",
"UnsealPrice": "0",
"PaymentInterval": 42,
"PaymentIntervalIncrease": 42
}
Perms: write
Inputs:
[
{
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"string value"
]
Response:
{}
Perms: write
Inputs:
null
Response:
[
{
"TransferID": 3,
"Status": 1,
"BaseCID": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"IsInitiator": true,
"IsSender": true,
"Voucher": "string value",
"Message": "string value",
"OtherPeer": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"Transferred": 42,
"Stages": {
"Stages": [
{
"Name": "string value",
"Description": "string value",
"CreatedTime": "0001-01-01T00:00:00Z",
"UpdatedTime": "0001-01-01T00:00:00Z",
"Logs": [
{
"Log": "string value",
"UpdatedTime": "0001-01-01T00:00:00Z"
}
]
}
]
}
}
]
There are not yet any comments for this method.
Perms: read
Inputs:
null
Response:
[
{
"PayloadCID": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"ID": 5,
"Selector": {
"Raw": "Ynl0ZSBhcnJheQ=="
},
"PieceCID": null,
"PricePerByte": "0",
"PaymentInterval": 42,
"PaymentIntervalIncrease": 42,
"UnsealPrice": "0",
"StoreID": 42,
"ChannelID": {
"Initiator": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"Responder": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"ID": 3
},
"PieceInfo": {
"PieceCID": {
"/": "bafy2bzacea3wsdh6y3a36tb3skempjoxqpuyompjbmfeyf34fi3uy6uue42v4"
},
"Deals": [
{
"DealID": 5432,
"SectorID": 9,
"Offset": 1032,
"Length": 1032
}
]
},
"Status": 0,
"Receiver": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"TotalSent": 42,
"FundsReceived": "0",
"Message": "string value",
"CurrentInterval": 42,
"LegacyProtocol": true
}
]
Perms: write
Inputs:
[
3,
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
true
]
Response:
{}
Perms: admin
Inputs:
[
"0",
"0",
10101,
1032,
1032
]
Response:
{}
Perms: admin
Inputs:
[
{
"PricePerByte": "0",
"UnsealPrice": "0",
"PaymentInterval": 42,
"PaymentIntervalIncrease": 42
}
]
Response:
{}
Perms: read
Inputs:
null
Response:
{
"ID": "12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf",
"Addrs": [
"/ip4/52.36.61.156/tcp/1347/p2p/12D3KooWFETiESTf1v4PGUvtnxMAcEFMzLZbJGg4tjWfGEimYior"
]
}
Perms: read
Inputs:
[
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
]
Response:
"string value"
Perms: read
Inputs:
null
Response:
{
"Reachability": 1,
"PublicAddr": "string value"
}
Perms: read
Inputs:
null
Response:
{
"TotalIn": 9,
"TotalOut": 9,
"RateIn": 12.3,
"RateOut": 12.3
}
Perms: read
Inputs:
null
Response:
{
"12D3KooWSXmXLJmBR1M7i9RW9GQPNUhZSzXKzxDHWtAgNuJAbyEJ": {
"TotalIn": 174000,
"TotalOut": 12500,
"RateIn": 100,
"RateOut": 50
}
}
Perms: read
Inputs:
null
Response:
{
"/fil/hello/1.0.0": {
"TotalIn": 174000,
"TotalOut": 12500,
"RateIn": 100,
"RateOut": 50
}
}
Perms: admin
Inputs:
[
{
"Peers": [
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
],
"IPAddrs": [
"string value"
],
"IPSubnets": [
"string value"
]
}
]
Response:
{}
Perms: read
Inputs:
null
Response:
{
"Peers": [
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
],
"IPAddrs": [
"string value"
],
"IPSubnets": [
"string value"
]
}
Perms: admin
Inputs:
[
{
"Peers": [
"12D3KooWGzxzKZYveHXtpG6AsrUJBcWxHBFS2HsEoGTxrMLvKXtf"
],
"IPAddrs": [
"string value"
],
"IPSubnets": [
"string value"
]
}
]
Response:
{}