Please upvote this topic! All rewards will be transferred to the AiraLab team in order to improve the framework and tools
My name is Anton and I am proud to present to you the Aira framework (created by AiraLab) tutorial, translated into English (from Russian) by myself. I am a blockchain enthusiast and currently developing my own Distributed Autonomous Organization (DAO). More on this in my future posts.
AiraLab is a Russian-based company located in Saint Petersburg and Togliatti.
Recently, the Aira team has built a Drone Employee
prototype that features distributed air drone dispatching. Please see this video.
A drone can share airspace with other drones as well as avoid the forbidden zones. All dispatching is done in a completely decentralized way using Ethereum smart-contracts.
The team leader is Sergey lonshakov. The team consists of Evgene Radchenko, Alexander Krupenkin, Semyon Pavlov, Alexander Kapitonov, Anastasiia Bakai et al. Please see team page here.
Aira is a DAO creation framework that can help you to quickly launch a new DAO that will include crowdsale support, board of directors, market regulator, and emission regulator modules (etc).
There are other DAO frameworks under development:
There are several options if you want to develop DAO:
- Write it from scratch
- Fork existing DAO code. For example, TheDAO
- Use frameworks
Using a framework can be the easiest way to quickly develop and release a DAO. Some frameworks (including Aira) use dynamic instance creation. You send transactions to an Aira builder contract and it builds you your DAO. No need to statically compile contract code and deploy it. Everything is done through building/adding/configuring DAO modules in the Ethereum network directly. Just use geth
or Ethereum Wallet
to send transactions. For example, you can add the ‘Market regulator’ module to your existing DAO and its behaviour will be changed according to the new rules:
// ABI removed for clarity
var BuilderDAOMarketRegulator = [{ ... }];
var builder = web3.eth.contract(BuilderDAOMarketRegulator).at(factory.getModule("Aira BuilderDAOMarketRegulator"));
builder.create(core.getModule('Mars colony shares'), dao_addr, core.getModule('Market'), core.getModule('DAO credit'), {from: eth.accounts[0], gas: 2000000, value: builder.buildingCostWei()});
builder.getLastContract();
// Add regulator to the organization contracts registry
core.setModule("Market regulator", builder.getLastContract(), "github://airalab/core/market/DAOMarketRegulator.sol", true, {from:web3.eth.accounts[0], gas:300000})
core.getModule("Market regulator")
// Switch market into 'regulated' mode
// ABI removed for clarity
var Market = [{ ... }];
var market = web3.eth.contract(Market).at(core.getModule('Market'));
market.setRegulator(true, {from: eth.accounts[0], gas: 100000});
market.regulatorEnabled();
A dynamic style, such as the one Aira gives us, is somewhat restrictive. We can not change the Aira framework code directly, but only by forking it on the github. This is the price we pay for convenience and extra safety (we can do only what is permitted by the Aira team).
Now it's better to go and check the tutorial!
p.s. If you can help us with proofreading/typo fixing -> that would be great!
Please upvote this topic! All rewards will be transferred to the AiraLab team in order to improve the framework and tools