API Endpoint
http://127.0.0.1:5001/api/v1/storage/upload/signcontractbatch?
Input Parameters
Argument | Required? | Type | Description | Required? |
---|---|---|---|---|
session-id | Y | string | ID for the storage upload session. | Y |
peer-id | N | string | Client that requires the offline signs | N |
nonce-timestamp | Y | int64 | Timestamp used for nonce. Must be within 1 hour of server time. | N |
upload-session-signature | Y | string | Private key-signed string of “<upload-peer-id>:<file-hash>:<upload-nonce-timestamp>” for this delegated request. | N |
session-status | Y | string | The “status” API session status that is received right before calling this API. | N |
signed-data-items | Y | string | Result of offline signing of the Contracts. This is an array of json marshalled Contract which is defined at the Response of | N |
Usage
// Usage
signbatch, err = s.StorageUploadSignBatch(sessionId, mhash, c, uts, storage.Status)
// Go Wrapper
func (s *Shell) StorageUploadSignBatch(sid string, hash string, unsignedBatchContracts *Contracts, uts string, sessionStatus string) error {
var signedBatchContracts *Contracts
var errSign error
offlinePeerSessionSignature, err := getSessionSignature()
if err != nil {
return err
}
signedBatchContracts, errSign = unsignedBatchContracts.SignContracts(utils.GetPrivateKey(), sessionStatus)
if errSign != nil {
return err
}
bytesSignBatch, err := json.Marshal(signedBatchContracts.Contracts)
if err != nil {
return err
}
rb := s.Request("storage/upload/signcontractbatch", sid, utils.GetPeerId(), uts, offlinePeerSessionSignature,
sessionStatus, string(bytesSignBatch))
return rb.Exec(context.Background(), nil)
}
curl -X POST http://127.0.0.1:5001/api/v1/storage/upload/getunsigned?arg=647cae8b-7da1-4e00-b183-e34a1517d15e&arg=16Uiu2HAm5KyUqXm7gZb5ECj4vDWVVjVuzNoj7cNM3Q7Eoz5Vsj2D&arg=1582848820&arg=16Uiu2HAm5KyUqXm7gZb5ECj4vDWVVjVuzNoj7cNM3Q7Eoz5Vsj2D%3AQmQqiYA6LXehPbMw5UtW3zCWstEZ9mY37QNxss41SspAzG%3Atime.Now%28%29.String%28%29&arg=balanceSignReady
Response
{
}