July 01, 2022
This week in Tari
There’s been a lot of development on the second layer of Tari these last two weeks. Progress has been made on the committee management initialization and validator node start up process.
To that end, you can now play around with initializing and selecting validator nodes in the console wallet. You can use tari_console_wallet contract --help
to see the available commands. Be warned though, it’s very experimental and subject to change.
USAGE:
tari_console_wallet.exe contract <SUBCOMMAND>
OPTIONS:
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
help Print this message or the help of the given subcommand(s)
init-amendment A generator for amendment files that can be edited and passed to
other contract commands
init-constitution A generator for constitution files that can be edited and passed
to other contract commands
init-definition Generates a new contract definition JSON spec file that can be
edited and passed to other contract definition commands
init-update-proposal A generator for update proposal files that can be edited and
passed to other contract commands
publish-amendment Creates and publishes a contract amendment UTXO from the JSON
spec file
publish-constitution Creates and publishes a contract definition UTXO from the JSON
spec file
publish-definition Creates and publishes a contract definition UTXO from the JSON
spec file
publish-update-proposal Creates and publishes a contract update proposal UTXO from the
JSON spec file
Calling init-definition
will get you started and prompt you for the information you need. Afterwards you’ll call publish-definition
with the file you created, and then do the same process for init-constitution
and publish-constitution
. For more detail about Contract Definitions and Constitutions, see the RFC.
Here’s a list of the PR’s recently merged:
Features
- add an encrypted value to the TransactionOutput (#4148) (01b600a)
- add sender to instructions (#4234) (6c116ac)
- add validator node checkpointing (#4217) (8b0add0)
- base_layer: basic contract constitution validation (#4232) (c2efd5e)
- base_layer: basic validations for proposals, proposal acceptances and amendments (#4238) (64f8972)
- base_layer: validate duplicated acceptances (#4233) (3d8a3b2)
- base_layer: validate that contract definitions are not duplicated (#4230) (0a2812c)
- base_layer: validation of committee membership in contract acceptances (#4221) (641844a)
- base-node: improve contract utxo scanning (#4208) (0fcde31)
- change tari explorer block view (#4226) (652cba3)
- ci: build both x86/arm64 docker images from GHA (#4204) (28a8f8b)
- console-wallet: generate issuer key for contract init-definition (#4202) (7317d6b)
- contract auto acceptance (#4177) (87f9969)
- core: add contract index to blockchain database (#4184) (b7e97f4)
- core: new output features for changes in contracts (#4169) (41570f6)
- miner: friendlier miner output (#4219) (4245838)
- publication of contract update proposal acceptances (#4199) (e3b2b9b)
- scan base node for constitutions (#4144) (310a2d2)
- swap dalek bulletproofs for bulletproofs-plus (#4213) (46f9bb8)
- use tari_crypto’s updated “extended pedersen commitment factory” (#4206) (50ce20a)
- validator_node: add global db (#4210) (3965267)
- validator-node: add logging (#4189) (2ed859f)
- validator-node: allow network to be configured via cli (#4190) (6a4c1a4)
- vn: record contract states (#4241) (92ae4ab)
- wallet selects previous checkpoint for spending (#4236) (90a5ec3)
- wallet: adds contract_id to outputs db (#4222) (6f331f8)
- wallet: allow UTXO selection by specific outputs and by token (#4227) (f2a7e18)
- wallet: new cli commands to initialise proposals and amendments (#4205) (40cbd50)
- wallet: new command to publish a contract update proposal (#4188) (0e3bee0)
- wallet: publish contract amendment (#4200) (edcce4a)
Bug Fixes
- add prettierignore for partials (#4229) (923cf07)
- contract-index: adds support for ContractAmendment to contract index (#4214) (a41d0c9)
- core: cleanup duplicate maturity check (#4181) (5e55bf2)
- test: integration test for validator node is broken (#4192) (16d6ba5)
- test: unifying dan layer integration tests (#4175) (f3495ee)
- validator-node: return error if contract_id empty for publish_contract_acceptance grpc (#4191) (8874114)
- validator: set tor_identity base path (#4187) (e324b80)
- wallet: select only basic utxos when building a transaction (#4178) (42269ae)
- wallet: use correct type for contract_id in the contract constitution file format (#4179) (669a1bd)
- core: replace OutputFlags with OutputType (#4174) (d779f43)