Decentralized insurance application for the NEO blockchain
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

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>