Skip to content

bnb-chain/greenfield-execution-provider

Repository files navigation

Greenfield Execution Provider

Overview

Greenfield Execution Provider

The Greenfield Execution Provider will execute the execution tasks invoked in greenfield and submit the results to the greenfield.

There are three components in the Greenfield Execution Provider:

  1. Observer

    The observer will observe the execution tasks in the greenfield and record the execution tasks in the database.

  2. Executor

    The executor will execute the execution tasks in the database and upload the result files to the greenfield.

  3. Sender

    The sender will send the executed task receipts to the greenfield.

Run

Setup local environment

Execute the following command to setup the local environment:

make local_up

This command will start a local greenfield chain and a local storage provider.

Build binaries

Execute the following command to build the binaries:

make all

This command will build the binaries in the build directory, including the observer, executor and sender.

Run Demo

  1. Go to folder e2e, run command go test -v . it will print the private key under the line
=== RUN   TestStorageTestSuite"

copy the private key words, update the private_key in build/config_executor.json and sender_executor.json

  1. Go to build folder generated by make all, run following commands in separate terminals
./observer
./executor
./sender --config-path ./config_sender.json
  1. Go to folder e2e and run go test -v . to trigger the invocation transaction and observe the log printed from executor and sender