Giter VIP home page Giter VIP logo

aos's Introduction

logo

aos

Status: Preview Version: 1.10.21.
Module: 1SafZGlZT4TLI8xoc0QEQ4MylHhuyQUblxD8xLKvEKI

Requirements

Getting Started

npm i -g https://get_ao.g8way.io && aos

NOTE: after the first time you run aos it installs it to your local machine, so the next time you want to run aos, just type aos + [enter]

User Documentation

Go to ao Cookbook

Project Background and Current Status

This project is a proof of concept implementation of the aos module and aos console, the module is located in the process directory of this repository. The console is located in the src directory of this repository.

Design Principals

  • aos the module is designed to be an operating system on the ao network, it provides developers the ability to build ao processes that are fast to iterate with and highly flexible. The design goal of the aos process is to not have too many opinions and implement the core functionality extremely well. The design should quickly reach a complete status. Currently it is in the Preview stage and should be progressing to an Early stage, then finally a Complete stage.

  • aos console is an interactive shell to the aos module, the purpose of this shell is to provide developers with a fun and engaging experience with the aos operating system module, as well as users. Users should enjoy to run their personal processes and engage on the network, from trading, to chats, to games. So the console should be easy to install on all major os platforms.

Preview Implementation

The current implementation of aos is using the ao wasm module and building with the ao cli that uses a emscripten c compiler and embeds Lua v5.3 in the wasm binary. This gives the developers and users with a built in operating system with a first class interactive language to engage with the Process business logic. The aos module also provides features like json, base64,

For Developers

The aos console is a command-line application that provides a easy to use DX experience to create Processes (aka Smart Contracts) on the ao Computer.

Command-line options

You can provide a name for a specific Process, if the Process does not exist aos will spawn the process, then every time you run aos [name] it will locate that process and interact with it.

aos [name]

Flags

Name Description Required
--cron [Interval] The cron flag can only be used when spawning a process, it instructs the Process to generate messages every Interval. An Interval can be defined with a [n]-(period) for example: 1-minute, 10-minutes, 5-hours, 10-blocks, etc. 0-1
--get-blueprints [dir] This command will grab blueprints from the /blueprints folder or a folder specified by the user. These blueprints are small lua files that can be applied to your process to automatically give it some functionality. 0-1
--tag-name [name] and --tag-value [value] These flags are also only when aos is spawning a Process. You may add many of these combinations as you would like and they will appear on the Process tags object 0-n
--load [luaFile] The load command allows you to load lua source files from your local directory. 0-n

Commands

When running the console, you can type dot commands to instruct the console to perform special instructions.

Command Description
.editor This command opens a simple cli editor that you can type on multiple lines, and then you can type .done or .cancel to exist editor mode.
.load This command allows you to load a lua source file from your local directory
.load-blueprint [name] This command will grab a lua file from the blueprints directory and load it into your process.
.exit This command will exit you console, but you can also do Ctrl-C or Ctrl-D

License

The ao and aos codebases are offered under the BSL 1.1 license for the duration of the testnet period. After the testnet phase is over, the code will be made available under either a new evolutionary forking license, or a traditional OSS license (GPLv3/v2, MIT, etc).

aos's People

Contributors

twilson63 avatar martonlederer avatar tillathehun0 avatar 7i7o avatar gregogun avatar lucifer0x17 avatar bobinstein avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.