Interaction with proxy contract

Hi, Can someone plz help me find out how can i interact with proxy contract using web3js / etherjs? also how can i find out the events which are emitted by implementation contract?

Would be grateful.

Regards

You can just use the implementation's ABI with the proxy's address.
For example, with ethers:

const MyImplementation = await ethers.getContractFactory("MyImplementation");
const instance = MyImplementation.attach(PROXY_ADDRESS);
await instance.myFunction();

Events would be emitted at the proxy address.