Decentralized insurance application for the NEO blockchain
Switch branches/tags
Clone or download
JorritvandenBerg Merge pull request #1 from gitoni/patch-1
Fix neo-python build in README
Latest commit b58af72 Dec 4, 2017
Failed to load latest commit information.
neo-boa Initial commit Nov 16, 2017
neo-python Initial commit Nov 16, 2017
smartcontract Initial commit Nov 16, 2017
.gitignore Initial commit Nov 16, 2017
LICENSE Initial commit Nov 16, 2017 Fix neo-python build in README Dec 2, 2017

Sunny dApp

This repository contains a insurance smart contract that pays out based on a observed weather condition that can be signalled by an oracle. The decentralized application is build for the NEO blockchain using the Python tools (neo-boa and neo-pyton).

Table of Contents


This smart contract is for experimenal purposes and requires rigorous testing before deployment on the Main Net.



  1. Install GIT [GIT installation guide] (

  2. Install Docker CE [Docker CE installation guide] (

  3. To use Docker without sudo

# Add your username to the Docker group
sudo usermod -aG docker $USER

# Logout and login again for this to take effect


To deploy the smart contract, it first needs to be set to the correct OWNER, which is a byte array of your hex script hash. Having done so, the script can be compiled with pip neo-boa and deployed with the neo-python container.

Having Docker installed, you could do it like this:

# Clone the git repository
git clone

# Go to the sunny_dapp directory
cd sunny-dapp

# Build the neo-boa docker-container
docker build -t neo-boa ./neo-boa

# Compile the smart contract in the smartcontract directory
docker run -it -v /absolute/path/to/sunny_dapp/smartcontract:/python-contracts -v /absolute/path/to/sunny_dapp/smartcontract/compiled:/compiled-contracts neo-boa

# Check if there is a compiled .avm file in the smartcontract subdirectory
cd smartcontract

# Go back to the main directory
cd ..

# Build the neo-python docker container
docker build -t neo-python ./neo-python

# Run the neo-python Docker container
docker run -it -v /absolute/path/to/sunny_dap/smartcontract/compiled:/smartcontract neo-python

# Create or import a wallet
create wallet {/path}

# Import WIF of your OWNER address
import wif {wif}

# Import the contract (with storage enabled)
import contract /smartcontract/sunny_dapp.avm 0710 05 True

# Fill in the metadata form and optionally deploy with your wallet password after a succesful test invoke

# Wait a few minutes for deployment and grab the contract hash with
contract search <entered author name>