Protocol Buffer messages for Vega in Javascript
import * as InputData from '@vegaprotocol/protos/vega/commands/v1/InputData/encode'
import * as Transaction from '@vegaprotocol/protos/vega/commands/v1/Transaction/encode'
import * as AccountType from '@vegaprotocol/protos/vega/AccountType'
const inputData = InputData.encode({
nonce: 10,
command: {
transfer: {
fromAccountType: AccountType.ACCOUNT_TYPE_GENERAL,
to: 'abcdefg',
toAccountType: AccountType.ACCOUNT_TYPE_GENERAL,
asset: 'BTC',
amount: '1'
}
}
})
const tx = Transaction.encode({
inputData: inputData,
version: 3,
from: {
pubKey: 'foo'// new Uint8Array(86)
},
signature: {
version: 2,
algo: 'vega/ed25519',
value: 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
},
proofOfWork: {
hashFunction: 'sha3_24_rounds',
tid: 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef'
}
})npm install @vegaprotocol/protosBuilding the Javascript bindings requires protoc and make to be installed on the system.
After cloning run npm install and then make dist to generate the bindings.
vega is added as a git submodule. The goal is to release a new version to npm, tracking the
vega versions. To update the tracked tag, cd vega and checkout the desired commitish, and
commit this version in the this repository.