Cypherium Java 智能合约编程指南

代币就是数字货币,比特币、以太币就是一个代币。利用Cypherium的java智能合约可以轻松编写出属于自己的代币。这些代币是建立在区块链之上,代表你拥有并可转让给其他人的数字资产。现在我们就来看看怎样创建一个这样的代币。

准备工作:

  1. 下载示例代码。https://github.com/cypherium/ContractExample
    目录结构介绍:
├── client              //客户端
│   ├── cypher          //可执行文件cypher
│   ├── jdk             //Java Development Kit
│   ├── genesis.json    //初始化创世区块所需文件
│   ├── db              //自定义数据库目录
│   └── executable_file //可执行文件
│       ├── Linux 
│       │    └── cypher
│       ├── Mac 
│       │    └── cypher
│       └── Windows 
│            └── cypher
├── file2str            //class文件生成二进制字符串工具
│   ├── file2str.go     //go源码
│   ├── Linux  
│   │   └── file2str
│   ├── Mac  
│   │   └── file2str
│   └── Windows     
│       └── file2str.exe
└── src
    ├── HelloWorld.java //Java智能合约
    ├── index.html      //合约部署页面
    └── web3.js

接下来的操作步骤,默认在ContractExample/client目录执行。
请根据操作系统,把合适的可执行文件cypher,复制到client下,如:

cp executable_file/Mac/cypher ./
  1. 初始化节点的创世区块。datadir为自行指定的数据库目录,如db。
./cypher --datadir db init genesis.json
  1. 启动节点。
./build/bin/cypher --datadir db --networkid 123666 --port 7000 --rpcport 8000  --rpc --rpccorsdomain "*" --rpcaddr 0.0.0.0
  1. 启动节点的js交互窗口(用上一步成的ipc文件):
./cypher attach db/cypher.ipc
  1. 创建账户。
personal.newAccount("your password")
  1. 请联系我们,给您的测试账户中,转入一些可供测试的代币。邮箱地址:xxx
  2. 查看您的账户余额。
cph.getBalance("your account address")
  1. 您可以通过以下方法,把您账户中的资金转给其他账户。
cph.sendTransaction(from,to,value,gas,gasPrice,data,nonce,Function)
  • from: String - 指定的发送者的地址。
  • to: String - (可选)交易消息的目标地址,如果是合约创建,则不填。
  • value: Number|String|BigNumber - (可选)交易携带的货币量,以wei为单位。如果合约创建交易,则为初始的基金。
  • gas: Number|String|BigNumber - (可选)默认是自动,交易可使用的gas,未使用的gas会退回。
  • gasPrice: Number|String|BigNumber - (可选)默认是自动确定,交易的gas价格,默认是网络gas价格的平均值 。
  • data: String - (可选)或者包含相关数据的字节字符串,如果是合约创建,则是初始化要用到的代码。
  • nonce: Number - (可选)整数,使用此值,可以允许你覆盖你自己的相同nonce的,正在pending中的交易。
  • Function - 回调函数,用于支持异步的方式执行。
  1. 通过以下命令查看现在共识到第几个区块了。
cph.txBlockNumber

API

ERC20是以太坊定义的一个代币标准。要求我们在实现代币的时候必须要遵守的协议,如指定代币名称、总量、实现代币交易函数等,只有支持了协议才能被以太坊钱包支持。
Cypherium的代币标准接口如下:

package javax.cypher;

public final class Cypnet {
   
    /**
     * 设置代币信息。
     * @param symbol 代币符号
     * @param name 代币名称
     * @param totalSupply 发行代币总量
     * @param _owner 合约拥有者账户地址,传""空时,代表默认为创建者账户地址
     * @return
     */
    public static native boolean setTokenInfo(String symbol, String name, long totalSupply, String _owner
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值