5.2 测试环境合约提交流程
5.2.1 注册测试环境开发者账号
- 开发者根据测试接入API调用
获取邮箱验证码
接口,验证码有效期30分钟,每个未注册邮箱24小时内最多请求3次验证码。 - 开发者调用
使用邮箱注册
接口,使用上一步的验证码和邮箱注册。 - 测试平台根据开发者接口提交的邮箱地址(必须)和验证码(必须),向开发者邮箱发送一份邮件,内含servce_id和secret。
- 后续所有的测试接口请求,都需要带上此邮箱地址以及由邮箱地址、service_id和secret拼接字符串的md5值。测试平台的所有接口都将校验此md5。
- 此接口不提供额外查询功能,如开发者信息遗失,需走客服流程找回。
5.2.2 调用充值接口
- 开发者根据测试接入API调用
测试账号充值
接口。 - 调用充值接口成功后,测试平台会向接口所提交的address账户转入1个token。
- 测试平台的区块链环境完全独立,所以此测试token只能用于测试环境,转入其他区块链环境无效。
- 每个email地址每天最多发起10次转账申请。
- 测试环境下需要使用测试版的迅雷链助手App,测试版迅雷链助手App下载
5.2.3 开发合约应用和上层业务
- 开发者开发合约应用,并通过上层业务(App, H5等实现)功能封装对合约的调用。
- 合约的开发可参考合约开发指南。
5.2.4 部署合约到迅雷链测试环境
- 迅雷链测试环境可以通过Catalyst编译、部署和调用。也支持手动调用接口部署和调用。
- 开发者通过手动调用
合约发布
接口,部署合约到迅雷链测试环境。 - 发布合约API接口需要提供合约bytecode和params,byetecode为合约编译的bytecode,params是构造函数的参数经过sign后可直接拼接在bytecode后用于部署的编码。参考合约编码工具
- 由于合约的部署是由平台方执行的,所以在合约的constructor方法里,避免使用msg.sender,如有权限和调用者限制需用到msg.sender,可通过参数传入用户的address代替。
例:
contract HelloWorld {
address owner;
constructor(address ownerArg) public {
//owner = msg.sender; 使用ownerArg代替msg.sender
owner = ownerArg;
}
}