积分合约模板

    • description

      此积分的具体描述

    • shortName

      积分简称

    • minUnit

      积分最小单位

    • totalAmount

      积分总数量

    • 发行

      调用合约的 deploy 方法,传入你初始化的四个元素即可,即在区块链上发行了你指定总量和名称的积分。

      • 其中 minUnit 和 totalAmount 不能为负数或小数
    • 转账

      调用 send 方法即可实现转账,之后调用 balance 方法可以查看自己的积分余额

    • 增发

      调用 issue 方法特定地址增发积分, 并可以通过 addIssuer 增加有权限增发积分的人,也可以通过renounceIssuer 方法移除增发权限

    • 销毁

      调用 destory 以及 destoryFrom 销毁自己地址下积分和特定地址下的积分

    • 暂停

      遇到紧急状况,你可以调用 suspend 方法,暂停合约,这样任何人都不能调用 send 函数。故障修复后,可以调用 unSuspend 方法解除暂停。也可以通过 addSuspender 和 renounceSuspender 相应增加和移除暂停者权限

    • totalAmount()

      返回积分总量

      • 这里的积分总量需要计算最小转账单位,所以实际返回值为 totalAmount * 10minUnit
    • balance(address owner)

      返回owner的帐户的积分余额

    • 将数量为value的积分转入地址 to 并触发 transfer 事件, data 是转账备注

      • 请避免 to 为自身进行操作
    • sendFrom(address from,address to,uint256 value,string data))

      将地址 from 中的 value 数量的积分转入地址 to ,并触发 transfer 事件,data 是转账备注。

      • 方法的调用者可以不为 from, 此时需要预先进行 approve 授权
      • from 不能为调用者自身地址,否则会报错
      • suspend 状态下无法执行此操作
    • safeSendFrom(address from, address to, uint256 value, string data)

      安全的将地址 from 中的 value 数量的积分转入地址 to ( to如果是合约地址,必须实现接收接口 BAC001Holder 才可以接收转账) ,并触发 transfer 事件,data 是转账备注

      • suspend 状态下无法执行此操作
    • safeBatchSend( address[] to, uint256[] values, string data)

      批量将自己账户下的积分转给 to 数组的地址, to 和 values 的个数要一致

      • suspend 状态下无法执行此操作
    • approve(address spender,uint256 value)

      允许 spender 从自己账户提取限额 value 的积分

      • 此方法配合 sendfrom / safesendfrom 一起使用
      • 重复授权时,最终授权额度为最后一次授权的值
    • allowance(address owner,address spender)

      返回 spender 可从 owner 提取的积分数量上限

      • 此方法配合 approve 一起使用
    • increaseAllowance(address spender, uint256 addedValue)

      允许 spender 提取的积分上限在原有基础上增加 addedValue

      • 此方法配合 approve 使用
    • decreaseAllowance(address spender, uint256 subtractedValue)

      允许 spender 提取的积分上限在原有基础上减少 subtractedValue

      • 此方法配合 approve 使用
    • minUnit()

      积分最小单位

    • description()

      积分描述

    • destory(uint256 value, string data)

      • 调用时,value 值需要小于等于目前自己的积分总量
    • destroyFrom(address from, uint256 value, string data)

      减少地址 from 积分,data 是转账备注

      • 调用此方法时,需要配合 approve 进行使用
    • issue(address to, uint256 value,string data)

      给地址 to 增加数量为 value 的积分,data 是转账备注

    • isIssuer(address account)

      检查 account 是否有增加积分的权限

    • addIssuer(address account)

      使地址 account 拥有增加积分的权限

    • renounceIssuer()

      移除增加积分的权限

    • suspend()

      暂停合约

      • suspend 后无法进行 send / safesendfrom / sendfrom / safeBatchSend / approves 操作
    • unSuspend()

      重启合约

    • suspended

      判断合约是否处于暂停状态

    • isSuspender(address account)

      是否有暂停合约权限

      • 配合 suspend 方法一起使用
    • addSuspender(address account)

      增加暂停权限者

      • 配合 suspend 方法一起使用
    • renounceSuspender()

      移除暂停权限

      • 配合 suspend / addSuspender 方法使用