A method of deploying a smart contract, comprising: receiving, by a blockchain node, a transaction for creating the smart contract, wherein the transaction comprises a machine code of the smart contract, and the machine code is obtained by Ahead of Time, AoT, compilation of a bytecode of the smart contract; completing, by the blockchain node, a deployment of the smart contract in response to determining that an initiator account of the transaction is a predefined trusted account, the determining comprising: reading, by the blockchain node, an account address of the initiator account from the transaction; determining, by the blockchain node, that the initiator account is a trusted account in a case that the account address of the initiator account is recorded in a predefined trusted account list, wherein the trusted account list is recorded in a system contract, and the method further comprises: invoking, by the blockchain node, the system contract, and sending the account address of the initiator account to the system contract; and receiving, by the blockchain node, an identification result returned by the system contract, wherein the identification result is used to indicate whether the account address of the initiator account is recorded in the trusted account list. receiving, by a blockchain node, a transaction for creating the smart contract, wherein the transaction comprises a machine code of the smart contract, and the machine code is obtained by Ahead of Time, AoT, compilation of a bytecode of the smart contract; completing, by the blockchain node, a deployment of the smart contract in response to determining that an initiator account of the transaction is a predefined trusted account, the determining comprising: reading, by the blockchain node, an account address of the initiator account from the transaction; determining, by the blockchain node, that the initiator account is a trusted account in a case that the account address of the initiator account is recorded in a predefined trusted account list, wherein the trusted account list is recorded in a system contract, and the method further comprises: invoking, by the blockchain node, the system contract, and sending the account address of the initiator account to the system contract; and receiving, by the blockchain node, an identification result returned by the system contract, wherein the identification result is used to indicate whether the account address of the initiator account is recorded in the trusted account list. reading, by the blockchain node, an account address of the initiator account from the transaction; determining, by the blockchain node, that the initiator account is a trusted account in a case that the account address of the initiator account is recorded in a predefined trusted account list, wherein the trusted account list is recorded in a system contract, and the method further comprises: invoking, by the blockchain node, the system contract, and sending the account address of the initiator account to the system contract; and receiving, by the blockchain node, an identification result returned by the system contract, wherein the identification result is used to indicate whether the account address of the initiator account is recorded in the trusted account list. invoking, by the blockchain node, the system contract, and sending the account address of the initiator account to the system contract; and receiving, by the blockchain node, an identification result returned by the system contract, wherein the identification result is used to indicate whether the account address of the initiator account is recorded in the trusted account list.