Follow 合约请求示例
使用Relation Protocol部署好的FollowRegister合约,可以实现为用户创建Follow合约。Follow合约可以进行关注与取消关注。FollowRegister与Follow合约均实现了Contract Standard定义的合约接口。
构建Contract对象
FollowRegister和FollowWithSign的合约地址、abi文件,以及Follow合约的abi文件可以查询Relation Protocol资源列表获得,Follow合约的地址需要通过FollowRegister查到,每个地址拥有自己的Follow合约。 通过ethers构建FollowRegisterContract对象:
import { ethers, providers } from 'ethers'
const getFollowRegisterContractInstance = () => {
// FollowRegister合约地址
const contractAddress = '0xab8Dde275F3d2508c578C5bbDf43E81964BF18A4'
const provider = new providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()
const contract = new ethers.Contract(contractAddress, followRegisterAbi, signer)
return contract
}
const getFollowWithSignContractInstance = () => {
const contractAddress = '0xAC0f863b66173E69b1C57Fec5e31c01c7C6959B7'
const provider = new providers.Web3Provider(window.ethereum)
const signer = provider.getSigner()
const contract = new ethers.Contract(contractAddress, followWithSignAbi, signer)
return contract
}调用合约方法
FollowRegister
部署Follow合约
查询用户的Follow合约,并构建Contract对象
用户部署过Follow合约后,可以通过地址查询到Follow合约的地址
Follow
关注
用户关注某个地址,需要调用对方的Follow合约
取消关注
用户的粉丝列表
遍历用户Follow合约的token owner,即可得到他的粉丝列表
关注(代支付Gas费)
用户对数据进行签名,打包成上链参数。任意地址可携带此上链参数发起交易,Gas费由发起交易的地址支付。
取消关注(代支付Gas费)
用户对数据进行签名,打包成上链参数。任意地址可携带此上链参数发起交易,Gas费由发起交易的地址支付。
Last updated