A computer-implemented method for blockchain-based notification, comprising: obtaining information in a block of a blockchain to determine a current state of a workflow, wherein a blockchain contract deployed in the blockchain is executable to update the current state among one or more states of the workflow; updating a locally-maintained state machine based on the determined current state, wherein: the locally-maintained state machine comprises one or more local states respectively mapped to the one or more states of the workflow; the one or more local states are configured in a cyclic trigger flow; the one or more states are configured in another cyclic trigger flow; the another cyclic trigger flow starts with a starting state of the one or more states, passes through each of the one or more states once in one direction till an ending state, and returns to the starting state; each of the one or more states is triggered by completion of a preceding state in the another cyclic trigger flow; the starting state is mapped to a starting local state of the cyclic trigger flow; and before obtaining the information in the block of the blockchain to determine the current state of the workflow, the method further comprises executing the blockchain contract to initiate the current state to be the starting state; and in response to determining that the updated state machine corresponds to one of the one or more states, transmitting a notification message to one or more subscribers subscribing to the one state. obtaining information in a block of a blockchain to determine a current state of a workflow, wherein a blockchain contract deployed in the blockchain is executable to update the current state among one or more states of the workflow; updating a locally-maintained state machine based on the determined current state, wherein: the locally-maintained state machine comprises one or more local states respectively mapped to the one or more states of the workflow; the one or more local states are configured in a cyclic trigger flow; the one or more states are configured in another cyclic trigger flow; the another cyclic trigger flow starts with a starting state of the one or more states, passes through each of the one or more states once in one direction till an ending state, and returns to the starting state; each of the one or more states is triggered by completion of a preceding state in the another cyclic trigger flow; the starting state is mapped to a starting local state of the cyclic trigger flow; and before obtaining the information in the block of the blockchain to determine the current state of the workflow, the method further comprises executing the blockchain contract to initiate the current state to be the starting state; and the locally-maintained state machine comprises one or more local states respectively mapped to the one or more states of the workflow; the one or more local states are configured in a cyclic trigger flow; the one or more states are configured in another cyclic trigger flow; the another cyclic trigger flow starts with a starting state of the one or more states, passes through each of the one or more states once in one direction till an ending state, and returns to the starting state; each of the one or more states is triggered by completion of a preceding state in the another cyclic trigger flow; the starting state is mapped to a starting local state of the cyclic trigger flow; and before obtaining the information in the block of the blockchain to determine the current state of the workflow, the method further comprises executing the blockchain contract to initiate the current state to be the starting state; and in response to determining that the updated state machine corresponds to one of the one or more states, transmitting a notification message to one or more subscribers subscribing to the one state. <EOS>