Project

General

Profile

Js api

Сlient's js-code is located in definition.data.js. It can be executed by contract.execJS(params...) method.
Js API is implemented in Node's nested classes JSApi and JSApi_contract. Main api endpoint is JSApi, it's instance is passed to js-code through jsApi global var, params -> jsApiParams global var.
Method contract.execJS returns Object, got it from js result global val. It can be any object, e.g. array of objects.

var currentContract = jsApi.getCurrentContract()
returns instance of JSApi_contract that represents our contract

currentContract.getId()
returns hashId of contract, as base64 string

currentContract.getRevision()
returns revision number, as int

currentContract.getCreatedAt()
returns contract creation time, as unix timestamp

currentContract.getOrigin()
returns hashId of origin contract, as base64 string

currentContract.getParent()
returns hashId of parent contract, as base64 string

currentContract.getStateData()
returns data section of contract state, as Binder class

currentContract.getDefinitionData()
returns data section of contract definition, as Binder class

currentContract.getIssuer()
currentContract.getOwner()
currentContract.getCreator()
returns list of addresses from certain role, as List. Public keys converts to addresses, AnonymousIds ignored.

currentContract.setOwner(List<String> addresses)
set owner role to given addresses

currentContract.createRevision()
returns new revison of contract, as JSApi_contract