Block number

Run the following Python script and embedded smart contract to test the getBlockNumber() function.

You need to run this against a running node on localhost port 8100.

Details for running a node are here.

from fetchai.ledger.api import LedgerApi
from fetchai.ledger.contract import SmartContract
from fetchai.ledger.crypto import Entity, Address

function set_block_number_state()

function query_block_number_state() : UInt64
    return State<UInt64>('block_number_state').get(0u64);

def main():

    entity1 = Entity()

    # build the ledger API
    api = LedgerApi('', 8100)

    # create wealth so that we have the funds to be able to create contracts on the network
    api.sync(api.tokens.wealth(entity1, 100000))

    # create the smart contract
    contract = SmartContract(CONTRACT_TEXT)

    # deploy the contract to the network
    api.sync(api.contracts.create(entity1, contract, 2000))

    api.sync(contract.action(api, 'set_block_number_state', 400, [entity1]))

    print(contract.query(api, 'query_block_number_state'))

if __name__ == '__main__':