CrossSpaceCall 合约
Conflux eSpace 和 Core Space 是两个独立的 space,您不能直接将 CFX 从 base32 地址发送到十六进制地址。 您只能使用 Confluxhub Space Bridge 在 eSpace 和 Core Space 之间转移 CFX。
在底层,Core Space 中有一个名为 CrossSpaceCall 的内置合约,用于在 eSpace 和 Core Space 之间转移 CFX。 通过CrossSpaceCall,在Core Space内直接与eSpace合 约进行互动成为可能。 这个合约是由 CIP-90 引入的。
CrossSpaceCall 接口
这个合约在 Core Space 中可用,地址为:
- base32 地址:'cfx:aaejuaaaaaaaaaaaaaaaaaaaaaaaaaaaa2sn102vjv'
 - 十六进制地址(在 solidity 中使用):
0x0888000000000000000000000000000000000006 
以下是这个合约的接口:
interface CrossSpaceCall {
    /**
     * @dev 在 eSpace 中部署一个合约
     * @param init bytes - 合约初始化字节码
     * @return bytes20 - 部署合约的十六进制地址
     */
    function createEVM(bytes calldata init) external payable returns (bytes20);
    /* 跨空间 CFX 转移的方法 */
    /**
     * @dev 将 CFX 从 Core space 转移到 eSpace 指定地址。转移金额由交易值指定。
     * @param to bytes20 - 接收方在 eSpace 的十六进制地址
     * @return output bytes - 交易输出
     */
    function transferEVM(bytes20 to) external payable returns (bytes memory output);
    
    /**
     * @dev 从 eSpace 映射账户余额中提取 CFX
     * @param value uint256 - 需要提取的 CFX 数量
     */ 
    function withdrawFromMapped(uint256 value) external;
    /**
     * @dev 查询 eSpace 映射账户的 CFX 余额
     * @param addr address - 需要查询的 core 地址
     * @return uint256 - 余额
     */
    function mappedBalance(address addr) external view returns (uint256);
    /**
     * @dev 查询 eSpace 映射账户的 nonce
     * @param addr address - 需要查询的 core 地址
     * @return uint256 - Nonce 值
     */ 
    function mappedNonce(address addr) external view returns (uint256);
    
    /* 其他跨空间操作的方法 */
    /**
     * @dev 从 Core space 调用 eSpace 合约方法
     * @param to bytes20 - eSpace 中合约的十六进制地址
     * @param data bytes - 合约方法调用数据
     * @return output bytes - 方法调用结果
     */ 
    function callEVM(bytes20 to, bytes calldata data) external payable returns (bytes memory output);
    /**
     * @dev 从 Core space 静态调用 eSpace 合约方法
     * @param to bytes20 - eSpace 中合约的十六进制地址
     * @param data bytes - 合约方法调用数据
     * @return output bytes - 方法调用结果
     */ 
    function staticCallEVM(bytes20 to, bytes calldata data) external view returns (bytes memory output);
}