Relationship

Follow

FollowRegister

  1. 部署follow合约

  function deployFollowContract(address owner) external returns (uint256);

部署用户的follow合约,并记录至FollowRegister合约上

参数:

  • owner: 接受Follow合约的地址

返回:

  • tokenId: follow合约在当前FollowRegister合约里的tokenId

  1. 查询地址的Follow合约地址

  function ownedFollowContract(address owner) external view returns (address);

查询地址所持有的Follow合约

参数:

  • owner: 接受Follow合约的地址

返回:

  • contractAddress: Follow合约地址

Follow

  1. 关注

function follow() external returns (uint256);

follow当前合约的owner

返回:

  • tokenId: 本次follow在合约里的tokenId

  1. 取消关注

  function unfollow() external;

取消对当前合约的owner的关注

Dao

DaoRegister

  1. 部署follow合约

  function deployDaoContract(address owner,string memory name) external returns (uint256);

部署Dao合约,并记录至DaoRegister合约上,创建者即为合约的owner

参数:

  • owner: 接受dao合约的地址

  • name: dao合约的名称

返回:

  • tokenId: dao合约在当前DaoRegister合约里的tokenId

  1. 查询Dao信息

  function daoOf(uint256 tokenId) external view returns(address owner,address contractAddress);

根据tokenId查询其关联的Dao合约的owner以及地址信息

参数:

  • tokenId

返回:

  • owner: Dao合约的创建者

  • contractAddress: Dao合约地址

Dao

  1. 设置daoURI

function setDaoURI(string memory daoURI) external;

设置当前群组信息,传入群组信息数据在Arweave上的交易哈希

入参:

  • daoURI: 一个资源地址,是Arweave上的交易哈希,指向内容为dao的信息描述

上传至Arweave的内容格式如下:

{
  "avatar": "${The avatar of DAO}",
  "description": "${The description of DAO}"
}
  1. 查询daoURI

function daoURI() external view returns (string memory _daoURI);

查询当前群组信息,返回的Arweave交易哈希可访问到群组的详细信息

入参:

  • _daoURI: 一个资源地址,是Arweave上的交易哈希,指向内容为dao的信息描述

  1. 是否开放加入

function isFreeJoin() external view returns (bool);

查看当前群是否开放加入,即无需管理员邀请即可加入

返回:

  • isFreeJoin: true--允许开放加入;false--不允许开放加入

  1. 将指定地址加入dao

function addMember(address[] memory addr) external;

将指定的地址批量加入dao,仅由dao的创建者执行。

入参:

  • addr: 待加入的地址

  1. 加入群组

  function join() external returns (uint256 tokenId);

用户主动加入dao,当前方法的调用者作为dao的成员

返回:

  • tokenId: 当前成员在群组中的tokenId

  1. 移出群组

  function remove(address addr) external;

将指定成员从群组内移出

入参:

  • addr: 被移出的成员地址

  1. 是否为dao的成员

  function isMember(address addr) external view returns(bool);

查询某个地址是否为dao的成员

入参:

  • addr: 待查询的地址

返回:

  • isMember: true-dao的成员;false-不属于dao的成员

  1. 查询dao的owner

  function ownerOfDao() external view returns(address owner);

查询dao的owner

返回:

  • owner: dao的owner

Last updated