Blockchain B1(Consensus, Root) {
this.consensus = Consensus.POW;
func Create(Config i, Status s){
log("created...");
return True;
}
func testFunc(Block b){
Nonce answer = b.nonce;
return answer;
}
func OnNewBlock(Block b, Hash h){
log("i wrote a new block: "+b.id+" : "+h);
Int number_result = testFunc(b);
log(number_result);
}
}votes.kscript
Aspect votes{
description
default_value
}vote.kscript
import votes
Root vote(Aspect){
name:
access
code
return
AddAspect(votes)
}end_date.kscript
Aspect end_date{
description
default_value
}verdict.kscript
import end_date
Root verdict(Aspect){
name:
access
code
return
AddAspect(end_date)
}import vote, votes;
import verdict, end_date;
Blockchain(Consensus, Root) {
require(1);
require(2);
this.consensus = Consensus.POW;
AddRoot(vote);
AddRoot(verdict);
func Create(){
test('dsd');
return 0;
};
func OnNewBlock(){
log("i wrote a new block");
}
create();
}kuntac -o target --bin --abi B1.kscript $tree
.
├── B1.kscript
└── target
├── B1.abi
├── B1.bin
├── votes.abi?
└── votes.bin?
├── verdict.abi?
└── verdict.bin?kunode.Chain()
kunode.RootInstance()kunode.deploy(<contents of the file B1.abi>)?import vote, votes;
import verdict, end_date;
Blockchain B1(Consensus, Root) {
require(1);
require(2);
this.consensus = Consensus.POW;
AddRoot(vote);
AddRoot(verdict);
func Create(){
test('dsd');
return 0;
};
func OnNewBlock(){
log("i wrote a new block");
}
create();
}B1.start()RootInstance ballot1 = Female(vote, ...); RootInstance myvote = Male(ballot1, ...)B1.send(ballot1)