How can an IPFS node contact an Ethereum smart contract

I am looking to work on a usecase where the IPFS node needs to call a few functions from a smart contract deployed on Ethereum. Is there any documentation provided which can help me out with this,


What do you mean exactly? Do you want to modify IPFS to be able to write to the chain or just read?

Can you not build another program to call IPFS and ETH?

I am looking to modify IPFS to provide view access to a file with a particular CID only if the user is authorised. So my plan is to have a smart contract which will tell whether a user has access to the file using its CID. This must be called by the IPFS node before the retrieval of the file starts.

Metamask. Only if authorized ? Well, technically there’s nothing private on IPFS (currently with usual configuration)

True. Im am running the go implementation of IPFS locally on my system and i will setup a few nodes. All the changes im attempting to do are on a local chain

Im trying to implement this research paper A Method for Protecting Private Data in IPFS | IEEE Conference Publication | IEEE Xplore. In short it modifies go-ipfs to check if a user has permission to get a file from IPFS

Thanks ill have a look at this