You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{"id": "QmekgFZREtKWPoU8SBLReDbjEYj1vHM12h65weE1pd2LAB",// unique contract ID"owner": "QmZ5JxYN3BBaijWjs3quqN3XxQQuKZYu1YNwtp8QSjdLRh",// owner gets refunds (optional)"state": "QmRZ5TL18MXcZm7GysG8JBVkkpguHwDyRybS1hoWgHRo7i",// eq. ID of the last block in blockchain (optional)"neuron": "/ipfs/QmYJaJa4N4tosk4JWtZidM5Ech6DPzpAS3ajZyhSuN8ZSM",// neuron is the function to execute"previous": "QmNkbyVE72GKDmP6V5bm5b8BwvSmT3rsmebZ6KEHQCvPQR",// previous execution (optional)"created_date": 1498141924,// date of creation (unix timestamp)"enforce_date": 1498833155,// date of execution (11520 minutes later) (optional)"exec_time": 60,// execution time in seconds (optional)"exec_interval": 60,// execution every 60 seconds (optional)"charge_limit": 1,// 1e-6 coins per second of execution (optional)"parallel_run": 1,// one execution (default)"max_failures": 12,// max verification failures to abandon operation (default is 0)"verify_times": 1,// one verification only (default is 1 if `verify_neuron` is present)"verify_state": "/ipfs/QmR1WuiVbGZVH1wzPxbLwJq8z5Cg3bzuB8G8mKiDZQ5k62",// neuron that verifies new and previous state"verify_neuron": "/ipfs/QmakKWzpKArjNc5puKuwuCNqCnpF3HmK11xzREhiqz7gVV",// neuron that verifies execution"verify_node": ["/ipns/…","/ipns/…"],// nodes to verify (optional)"execute_node": ["/ipns/…","/ipns/…"],// nodes to execute (optional)"node_capital": 1e9,// minimum node locked capital to be able to participate in running and verifying"locked": true,// contract cannot be removed (optional)"locked_coins": 1192,// 1e-6 coins per 60m on queue + exec costs"signature": "…"// signed contract}
Blockchain-hosting contract
IPFN Blockchain is contract itself and is close to following:
{"id": "QmUyERaqHBehKc6tjHTN1LFyNNWBTHvkBwoccBPNiNfX4m",// unique contract ID"locked": true,// contract cannot be removed"previous": "QmVgQm6nWWBZwnSUKa4KH14WNg33iCTxASM4QbaepmVatH","state": "QmUydmxwbBCeAhBPcKqj9ghEWvY8FC5sdwy4SMfrZYEsRs","neuron": "/ipfs/…",// blockchain neuron"created_date": 1498141924,// date of creation (unix timestamp)"charge_node": 1,// 1e-6 coins per second per node"exec_time": 60,// run for 60 seconds"exec_interval": 60,// collect state every 60 seconds"charge_limit": 60,// 6e-5 coins per second of execution"parallel_run": -1,// Infinite parallel executions"verify_times": -1,// Infinite verifications (whats left after execution)"verify_node": ["/ipns/…","/ipns/…"],// nodes that need to verify the results"verify_state": "/ipfs/QmQXvQ4GcxZtXnL9TfyhBEkyp7i1GeDQKQsV5DY5Z75fKz",// neuron verifying states"verify_neuron": "/ipfs/QmakKWzpKArjNc5puKuwuCNqCnpF3HmK11xzREhiqz7gVV",// neuron verifying results"node_capital": 1e9,// minimum node locked capital"locked_coins": 1e9,// funds for running blockchain "signature": "…"// signed contract}
Execution of the contract results in a new contract being stored on the blockchain.
Created contract if not stateless will have a new state value.
Execution interval
Contracts can execute with intervals. It can be used like CRON,
Blockchain applications on top of IPFN benefit from it by collecting
transactions and squashing into blocks in constant time intervals.
Contracts state
State of the contract is collected verified result generated during execution of the contract and can be stored on IPFS to ensure continuum of execution.
On top of operations verification state can be verified using additional verify_state neuron.