Introducing AOS, a minimal protocol for distributed collaboration
Lean more about AOS here
Lean more about AOS here
To download Kunta, use the link provided to you. You can also use the cloud-based interface by visiting here. For further assistance, please email team@kunta.io
Download Kunta IDE(Pre-Alpha)To use the platform in the cloud, simply log into your account here. To install the local wallet, install the bundle downloaded from the download section above.
npm install
Kunta is a flexible protocol for designing, maintaining, and interacting with custom cryptoeconomies.
To execute Kunta scripts, you must download the Kuntac compiler from here. This compiles all Chain, Root, and Aspect scripts..
Download Compiler (Pre-Alpha)
kuntac -o target <optional flags> <script to compile>.kscript
$tree
.
├── <script name>.kscript
└── target
├── <script name>.abi
├── <script name>.bin
...
Kunta is used to create, and manage a cryptoeconomy. For this, we expose a simple, and familiar abstraction language.
You can use our cloud provided IDE or download the compiler for the language, and test your programs locally. Click here to view the compiler on github.
import <Roots to include>;
Blockchain <Blockchain Name>(<modules to use>) {
this.consensus = <Consensus Mechanism to use>;
## Native Creation function
func Create(Config i, Status s){
<invoked once time, upon chain creation>
};
## Native OnNewBlock function
func OnNewBlock(<Block information passed>){
<Invoked for every new blocked commited>
}
}
import <Aspect to be imported>;
Root <Root Name>(<modules to be important, usually "Aspect">){
name = = <human-readable type>;
access = <access type>;
code = <logic for root to perform>;
return = <return instructions>;
AddAspect(<Aspect to be imported>);
}
Aspect <Aspect Name>{
description = <human-readable description>;
default_value = <initial value, upon new female root instance>;
}
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);
}
}
RootInstance test_female = Female(<Root to follow>, <Additional parameters>);
This creates a corresponding male root instance, of which will invoke the previous female root instance.
RootInstance test_male = Male(test_female, <Additional parameters>);
Since a chain is a native data type, we can execute upon it.
B1.start();
B1.send(<Root Instance binary>);
To execute upon the scrips compiled, kunode is used to create a chain from the "Blockchain" configuration..
Download Kunode
kunode.Chain(<binary from chain configuration compilation>)
This registers a new chain to be deployed, by kunode.Deploy
kunode.Deploy(<name of chain to deploy>)
kunode.RootInstance(<binary from root instance compilation>)