sageprotocol-js
v1.0.5
Published
Javascript module with helper methods to interact with Sage Protocol smart contracts.
Downloads
3
Readme
Synopsis
Javascript module with helper methods to interact with Sage Protocol smart contracts.
Installation
npm i sageprotocol-js
Usage
const sageJS = require('sageprotocol-js')
API Reference
_ Note: All methods accept from and gas parameters. Gas is in wei. From must be an address for which the private key is available from the calling client. _
createProfile
Estimated Gas: 445,222
Creates Profile smart contract and returns new Ethereum address
Inputs: nonce (optional), user name (optional)
From: Address owned by individual worker
Emits: ProfileCreated(nonce, new profile address)
Example: sageJS.createProfile({nonce: 1, name: 'Username', from: '0x', gas: 1000})
createBinaryWork
Gas: 680,988
Creates BinaryWork smart contract and returns new Ethereum address
Inputs: nonce (optional), Keywords (describing work to be performed. i.e. "HelpDesk")
From: Address owned by work requestor (Nynja)
Emits: WorkCreated(nonce, new work address)
Example: sageJS.createBinaryWork({nonce: 1, keyWords: 'HelpDesk', from: '0x', gas: 1000})
setPendingProfile
Gas: 28,640
Sets the public address for the Profile smart contract of the individual that is desired to complete the work.
Inputs: profile address
From: Address owned by work requestor (Nynja)
Example: sageJS.setPendingProfile({workAddress: '0x', profileAddress: '0x', from: '0x', gas: 1000})
acceptWork
Gas: 50,161
The desired individual accepts the work to be completed.
Inputs: none
From: Address owned by pendingProfile from setPendingProfile step
Example: sageJS.acceptWork({workAddress: '0x', from: '0x', gas: 1000})
completeWork
Gas: 29,812
Called by worker when complete.
Inputs: none
From: Address owned by acceptedProfile/pendingProfile
Example: sageJS.completeWork({workAddress: '0x', profileAddress: '0x', from: '0x', gas: 1000})
validate
Gas: 33,247
Called by work requestor (Nynja) when work is validated
Inputs: boolean vote
From: Address owned by work requestor (Nynja)
Example: sageJS.validate({workAddress: '0x', vote: true, from: '0x', gas: 1000})
acceptReputation
Gas: 58,355
Called by worker when they accept the validated work reputation
Inputs: work address, profile address
From: Address owned by the Profile smart contract of the worker
Emits: ReputationAccepted(profile address, work address)
Example: sageJS.acceptReputation({workAddress: '0x', profileAddress: '0x', from: '0x', gas: 1000})