koa
koa copied to clipboard
The koa is a high-level language that has more expressions than the bitcoin script and is simpler and easy to analyze
koa
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).

A more detailed explanation is given below.
Also, koa project is published in Mobisys 2019! You can see the paper and poster below.
Title: "Demo: Light-Weight Programming Language for Blockchain"
- Paper
- Poster
Architecture

- Lexer
- Parser
- Compiler
- VM
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
trueorfalse.
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.