查看: 69|回复: 0

[互联网的那点事] {兄弟连区块链技术培训}EOS源码分析(3)案例分析

发表于 2018-7-12 15:00:23
  兄弟连区块链学院院长尹成资深区块链技术专家:毕业于清华大学,曾担任Google算法工程师,微软区块链领域全球最具价值专家,微软Tech.Ed大会金牌讲师。精通C/C++、Python、Go语言、Sicikit-Learn与TensorFlow。拥有15年编程经验与5年的教学经验,资深软件架构师,Intel软件技术专家,著名技术专家,具备多年的世界顶尖IT公司微软谷歌的工作经验。具备多年的软件编程经验与讲师授课经历,并在人机交互、教育、信息安全、广告、区块链系统开发诸多产品。具备深厚的项目管理经验以及研发经验,拥有两项人工智能发明专利,与开发电子货币部署到微软WindowsAzure的实战经验。教学讲解深入浅出,使学员能够做到学以致用。
EOS 项目在建构了一套去中心化的可信网络的同时,提供的最重要的功能就是智能化合约,智能合约能够使用一种透明的方式来转移和交换资金或财产,而不需要通过中间人,接下来我们就一起通过一个案例分析下如何在EOS上建立智能合约。
## 运行EOS节点
智能合约是在EOS节点中运行的,因此要首先把EOS节点运行起来,在这里,我们运行一个本地节点,命令如下:
```
cd path-to-eos/build/programs/eosiod/
./eosd
```
## 创建默认钱包
- 创建钱包
由于智能合约是与账号相关联的,因此在创建智能合约前,我们首先要创建账号,而账号的Key需要通过钱包来创建和保存,因此需要先创建钱包,如下:
    ```
    cd path-to-eos/build/programs/eosioc/
    ./eosioc wallet create # Outputs a password that you need to save to be able to lock/unlock the wallet
    ```
上面的命令会创建一个名称为default 的默认钱包,在创建钱包时,你也可以指定名称。钱包对应的密码需要保存,后续操作钱包状态的时候需要使用。
- 导入测试账号的Private key
钱包创建好之后,还不能直接创建账号,每个账号的创建需要一个Creator账号,在这里,我们使用`genesis.json`中的 `inita`账号作为Creator账号。作为Creator的账号,必须要把它的`Private key`导入到钱包中,否则在创建其他账号时,会提示权限不够,命令如下:
    ```
    ./eosioc wallet import 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3
    ```
## 创建账号
### 创建账号所需的key
每个账号的创建都需要`owner_key` 和`active_key` 两个key,我们通过以下命令创建key:
    ```
    cd path-to-eos/build/programs/eosioc/
    ./eosioc create key # owner_key
    ./eosioc create key # active_key
    ```

    以上命令会分别输出两组 `private key` 和 `public key`,如下:

    ```
    Private key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Public key: EOSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    ```
    **千万保存好以上的key,后续需要使用**。

比特币没赶上?以太币没有买?你错过了成为了百万富翁的梦但是不要错失成为创造者的机会!!!7月7日起每晚8点-9点半兄弟连区块链学院正式开课:http://www.ydma.cn/open/course/16 【清华学霸携全球区块链大赛冠军团队】带你实战区块链开发!!!



回复

使用道具 举报