A computer-implemented method for providing a functions-as-a-service (FaaS) platform within a blockchain network, the method being executed by one or more processors, and comprising: receiving, from a smart contract, and by a first function application containing a first function controller executing within the blockchain network, a first function call to execute a first function, the first function call comprising data for execution of the first function, wherein in the first function is implemented by code in the first function application , wherein the first function application contains multiple versions of the first function and the first function controller routes the first function call to an appropriate version of the first function , and wherein the first function application is stored in the blockchain, the first function controller has a unique address within the blockchain network, and the versions of the first function each have a respective unique address within the blockchain network; transmitting, by the first function controller , the data of the first function call to a first function component , the first function component executing the first function based on the data of the first function call; receiving , by the first function controller , a first function result from the first function component ; and providing , by the first function controller , the first function result to the smart contract . receiving, from a smart contract, and by a first function application containing a first function controller executing within the blockchain network, a first function call to execute a first function, the first function call comprising data for execution of the first function, wherein in the first function is implemented by code in the first function application , wherein the first function application contains multiple versions of the first function and the first function controller routes the first function call to an appropriate version of the first function , and wherein the first function application is stored in the blockchain, the first function controller has a unique address within the blockchain network, and the versions of the first function each have a respective unique address within the blockchain network; wherein in the first function is implemented by code in the first function application , wherein the first function application contains multiple versions of the first function and the first function controller routes the first function call to an appropriate version of the first function , and wherein the first function application is stored in the blockchain, the first function controller has a unique address within the blockchain network, and the versions of the first function each have a respective unique address within the blockchain network; transmitting, by the first function controller , the data of the first function call to a first function component , the first function component executing the first function based on the data of the first function call; receiving , by the first function controller , a first function result from the first function component ; and providing , by the first function controller , the first function result to the smart contract . <EOS>