A transaction processing method based on an Ethereum Virtual Machine, the method being applied to a blockchain node and comprising acquiring (S 110, S310, 5410), by an Ethereum virtual machine instance running in the Ethereum Virtual Machine deployed in the blockchain node, a to-be-processed transaction request; in a process of executing the to-be-processed transaction request, generating, by the Ethereum virtual machine instance, a data access request for an intra-contract variable and transmitting the data access request to an interface module; wherein the data access request comprises a data read request and/or a data write request; performing, by the interface module, instruction conversion according to the data access request to determine an intra-contract variable access interface corresponding to a function of the data access request; and calling, by the interface module, the intra-contract variable access interface to access the intra-contract variable in a contract space in a data storage space of a non-Ethereum blockchain and feeding back an access result to the Ethereum virtual machine instance, wherein the access result comprises a value of the intra-contract variable in the contract space of the non-Ethereum blockchain or an access state of success or failure for accessing the intra-contract variable in the contract space of the non-Ethereum blockchain, the intra-contract variable refers to data involved by the to-be-processed transaction request; wherein the intra-contract variable comprises a parameter variable and a variable value in a smart contract, and the intra-contract variable in the contract space is used for updating on-chain data of the non-Ethereum blockchain; and wherein the data storage space of the non-Ethereum blockchain is used for storing account data and contract data in isolation, the data storage space of the non-Ethereum blockchain comprises an account space and the contract space, the account space is used for storing account data in an external account and account data in a contract account, and the contract space is used for storing the contract data in the contract account; wherein the contract data comprises an account identifier, a contract bytecode and the intra-contract variable. acquiring (S 110, S310, 5410), by an Ethereum virtual machine instance running in the Ethereum Virtual Machine deployed in the blockchain node, a to-be-processed transaction request; in a process of executing the to-be-processed transaction request, generating, by the Ethereum virtual machine instance, a data access request for an intra-contract variable and transmitting the data access request to an interface module; wherein the data access request comprises a data read request and/or a data write request; performing, by the interface module, instruction conversion according to the data access request to determine an intra-contract variable access interface corresponding to a function of the data access request; and calling, by the interface module, the intra-contract variable access interface to access the intra-contract variable in a contract space in a data storage space of a non-Ethereum blockchain and feeding back an access result to the Ethereum virtual machine instance, wherein the access result comprises a value of the intra-contract variable in the contract space of the non-Ethereum blockchain or an access state of success or failure for accessing the intra-contract variable in the contract space of the non-Ethereum blockchain, the intra-contract variable refers to data involved by the to-be-processed transaction request; wherein the intra-contract variable comprises a parameter variable and a variable value in a smart contract, and the intra-contract variable in the contract space is used for updating on-chain data of the non-Ethereum blockchain; and wherein the data storage space of the non-Ethereum blockchain is used for storing account data and contract data in isolation, the data storage space of the non-Ethereum blockchain comprises an account space and the contract space, the account space is used for storing account data in an external account and account data in a contract account, and the contract space is used for storing the contract data in the contract account; wherein the contract data comprises an account identifier, a contract bytecode and the intra-contract variable.