EVM Smart Contracts
Step 1: Initialize hardhat project
mkdir push-consumer && cd push-consumer
yarn init -y
# Yarn initialization
yarn add --dev hardhat
yarn hardhat init
# Hardhat initialization flow(select TypeScript project)Step 2: Create PushReader contract and hardhat ignition script
// SPDX-License-Identifier: BSL1.1
pragma solidity ^0.8.20;
interface IPushMarketplace {
function getFeedPrice(
bytes32 feed
) external returns (uint256 price, uint256 timestamp);
}
contract PushReader {
IPushMarketplace public pushMarketplace;
uint public latestPrice;
uint public latestTimestamp;
constructor(address _pushMarketplace){
pushMarketplace = IPushMarketplace(_pushMarketplace);
}
function getData(bytes32 feedKey) external{
(latestPrice, latestTimestamp) = pushMarketplace.getFeedPrice(feedKey);
}
}Step 3: Deploy PushReader
Step 4: Create Push Subscribtion

Step 5: Execute PushConsumer.consumePrice transaction
Last updated