koa
![Coverage Status](https://coveralls.io/repos/github/DE-labtory/koa/badge.svg?branch=develop)
The project is inspired by the simplicity and the ivy-bitcoin.
The koa project is to create a high-level language that has more expressions
than the bitcoin script and
is simpler and easy to analyze than soldity(ethereum).
![](https://github.com/DE-labtory/koa/raw/v0.1.1/image/koa-concept.png)
A more detailed explanation is given below.
Architecture
![koa architecture](https://github.com/DE-labtory/koa/raw/v0.1.1/image/koa-architecture.png)
Language Specification
Primitive Type
-
Integer
It is expressed in int
. Integer size is 64 bytes.
-
String
It is expressed in string
.
-
Boolean
It is expressed in true
or false
.
Operators
-
Arithmetic
We support +, -, *, /, %
only for integer.
-
Comparison
We support ==, !=, >, <, >=, <=
for comparsion.
-
Logical
We support &&, ||
for logical operation.
-
Prefix
We support !, -
for prefix operator.
Condition
It is expressed in if(){}
or if(){}else{}
.
Etc
return
\n
: All statements should end in \n
.
- Assign : It is expressed in
=
.
Example Code
contract {
func Sig(sig string){
string pubkey = "fvfidBGruUYC+mTw7CusaCOQbBuZBiYduFgH8hRW97KLmHn0xzB1FV++KI7syo8qXGo8Un24WP40IT78XjKO"
if checkSig(pubkey, sig){
return true
}
return false
}
}
Contribution
Contribution Guide
CONTRIBUTION
License
Project source code files are made available under the Apache License, Version 2.0 (Apache-2.0), located in the LICENSE.
CLA Hub
To get started, sign the Contributor License Agreement.