All Projects → bloq → ora

bloq / ora

Licence: MIT license
Bloq Ora multi-blockchain smart contract compute oracle and validation engine

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
assembly
5116 projects
Makefile
30231 projects
M4
1887 projects
Protocol Buffer
295 projects

Projects that are alternatives of or similar to ora

eosgo-client
A simple Go wrapper of EOS (eosio) RPC API, and more!
Stars: ✭ 29 (+3.57%)
Mutual labels:  smart-contracts, eosio
Eosio.contracts
Smart contracts that provide some of the basic functions of the EOSIO blockchain
Stars: ✭ 282 (+907.14%)
Mutual labels:  smart-contracts, eosio
eosio-rust
EOSIO SDK for Rust – APIs for building smart contracts on EOSIO blockchains in Rust
Stars: ✭ 93 (+232.14%)
Mutual labels:  smart-contracts, eosio
Eos Smart Contract Security Best Practices
A guide to EOS smart contract security best practices
Stars: ✭ 371 (+1225%)
Mutual labels:  smart-contracts, eosio
permissions test
An EOSIO smart contract for testing the permission system
Stars: ✭ 12 (-57.14%)
Mutual labels:  smart-contracts, eosio
luckydog
luckydog(锦鲤) 一个幸运小游戏
Stars: ✭ 14 (-50%)
Mutual labels:  smart-contracts, eosio
hi-blockchain
Awesome blockchain resources
Stars: ✭ 14 (-50%)
Mutual labels:  smart-contracts
docs
Unleash Bitcoin's full potential with decentralized apps and smart contracts. The documentation covers key aspects of the Stacks network and technology and provides tutorials and other helpful content for developers.
Stars: ✭ 134 (+378.57%)
Mutual labels:  smart-contracts
Solidity
Smart Contracts - Solidity
Stars: ✭ 122 (+335.71%)
Mutual labels:  smart-contracts
iot-device-management
Leveraging Ethereum blockchain platform for identity, authentication and reputation of IoT devices
Stars: ✭ 84 (+200%)
Mutual labels:  smart-contracts
ping-eos
Implementing ping between EOS / React.js
Stars: ✭ 86 (+207.14%)
Mutual labels:  eosio
ueosio
General purpose library for the EOSIO blockchains
Stars: ✭ 15 (-46.43%)
Mutual labels:  eosio
react-truffle-metamask
Build an DApp using react, redux, saga, truffle, metamask
Stars: ✭ 25 (-10.71%)
Mutual labels:  smart-contracts
eosdart ecc
Elliptic curve cryptography functions in Dart. Private Key, Public Key, Signature, AES, Encryption, Decryption
Stars: ✭ 25 (-10.71%)
Mutual labels:  eosio
prometheus-spec
Censorship-resistant trustless protocols for smart contract, generic & high-load computing & machine learning on top of Bitcoin
Stars: ✭ 24 (-14.29%)
Mutual labels:  smart-contracts
EVM-Simulator
EVM-Simulator bachelor's thesis.
Stars: ✭ 36 (+28.57%)
Mutual labels:  smart-contracts
flora
A distributed smart contract package manager to create a better and shared authority in the space.
Stars: ✭ 19 (-32.14%)
Mutual labels:  smart-contracts
rICO-smart-contracts
Smart contracts for the Reversible ICO (rICO)
Stars: ✭ 38 (+35.71%)
Mutual labels:  smart-contracts
market-oracle
Set of smart contracts on Ethereum deal with exchange rate reporting and aggregation
Stars: ✭ 49 (+75%)
Mutual labels:  smart-contracts
eosio.evm
EOSIO Ethereum Virtual Machine (EVM)
Stars: ✭ 91 (+225%)
Mutual labels:  eosio

This is a sandbox, in the spirit of Cloudius Systems' OSv.

The goal is to provide a secure, sandboxed execution mechanism that enables deterministic input, processing and output. Execution is separated out into distinct phases:

  1. Prepare and load hash-sealed program executables, data.
  2. Execute program as a black box, with no I/O capability. Runs until exit or CPU budget exhausted (or CPU exception).
  3. Gather processed data, if any.

A single thread of execution pre-loads necessary data, then simulates a 32-bit little endian Moxie CPU, running the loaded code.

This program is built using the "moxiebox" target in upstream binutils and gcc. A reduced (C-only) gcc toolchain is therefore available for immediate use by developers.

You will need to build and install moxie architecture binutils+gcc cross-compiler toolset:

    cd contrib
    ./download-tools-sources.sh
    ./build-moxiebox-tools.sh

From the Moxie program's point of view, it is a single thread running as root and is essentially the entire operating system kernel + application, all in a single wrapper.

From the sandbox's point of view, the application is running as an unpriv'd application with only the ability to access data within the hand-built memory map.

More info about the Moxie architecture may be found at http://moxielogic.org/blog/pages/architecture.html and http://moxielogic.org/blog/ . The main code repository is https://github.com/atgreen/moxie-cores.

Example usage:

./sandbox \
	-e runtime/test1 \
	-d mydata.json \
	-d mydata2.dat \
	-o file.out

If you specify the -g option, then sandbox will wait for a GDB connection on the given port. For example, run sandbox like so:

$ ./sandbox -e ./basic -g 9999
ep 00001000
ro 00000f6c-00001536 elf0
ro 00001538-00001540 elf1
rw 00001640-00001ab4 elf2
rw 00002ab4-00012ab4 stack
ro 00013ab4-00013b74 mapdesc

And, in a separate console, run GDB to connect to sandbox using the target remote command like so:

$ moxiebox-gdb basic
GNU gdb (GDB) 7.8.50.20141227-cvs
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-unknown-linux-gnu --target=moxie-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/.
Find the GDB manual and other documentation resources online at:
http://www.gnu.org/software/gdb/documentation/.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from basic...done.
(gdb) target remote localhost:9999
Remote debugging using localhost:9999
0x00001000 in __start ()
(gdb) b main
Breakpoint 1 at 0x14c8
(gdb) c
Continuing.

Breakpoint 1, 0x000014c8 in main ()
(gdb) x/4i $pc
=> 0x14c8 : xor $r5, $r5
0x14ca : mov $r4, $r5
0x14cc : lda.l $r3, 0x1644
0x14d2 : lda.l $r2, 0x1648
(gdb)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].