---
# System prepended metadata

title: '[DRAFT] Validator-Pandora Communication Protocol'

---

# [DRAFT] Validator-Pandora Communication Protocol
The Communication Protocol between validator and pandora nodes sufficient for implementation of Lukso mainnet proposal.

## Table of contents
- [pandora_prepare_executable_block](#produce_executable_block)
- [pandora_insert_executable_block](#insert_executable_block)

### pandora_prepare_executable_block

According to lukso mainnet architecture, validator calls to pandora client for preparing a new executable block. Pandora client creates an executable block and gives it to validator.

#### Request parmeters
1. slot: uint64 - current slot.
2. epoch: uint64 - current epoch.
3. proposer_index: uint64 - current consensus block proposer index
4. randao_reveal: RandaoReveal - current slot randao reveal 
5. ecdsa_address: common.Address - ecdsa address of pandora coinbase.
6. bls_signature: []byte - bls signature of (slot, epoch, proposer_index, randao_reveal, ecdsa_address)

#### Response parameters
1. block: types.Block - executable bock

### pandora_insert_executable_block
Validator validates the executable block and preparing the block hash and sign on the executable block then send the executable block and block signature to pandora.Pandora will store the block in its blockchain and broadcast the executable block in its peers.

#### Request parameters
1. block: types.Block - executable block
2. sig: []byte - signature of executable block

#### Response parameters 
1. sucesss: bool - status