diff --git a/SUMMARY.md b/SUMMARY.md index 67f01f2d83275fc503b81bf570d338bfef7475c0..d80d7f60029878430d8cc2427a2b4592774c5259 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -52,8 +52,8 @@ * [链码示例一:信息公证](hyperledger/chaincode_example01.md) * [链码示例二:交易资产](hyperledger/chaincode_example02.md) * [链码示例三:数字货币发行与管理](hyperledger/chaincode_example03.md) - * [链码示例四:数字货币发行与管理](hyperledger/chaincode_example04.md) - * [链码示例五:数字货币发行与管理](hyperledger/chaincode_example05.md) + * [链码示例四:学历认证](hyperledger/chaincode_example04.md) + * [链码示例五:社区能源共享](hyperledger/chaincode_example05.md) * [小结](hyperledger/summary.md) * [以太坊项目](ethereum/README.md) * [简介](ethereum/introductin.md) diff --git a/hyperledger/chaincode_example04.md b/hyperledger/chaincode_example04.md index 6438c85a9acd4d238e8f584beff452cf72a70e9e..84959b0404dcdd9b1361ccb1d280c53618a8c27c 100644 --- a/hyperledger/chaincode_example04.md +++ b/hyperledger/chaincode_example04.md @@ -1,45 +1,45 @@ -### 学历认证简单案例 -#### 功能描述 -该智能合约实现了一个简单的征信管理的案例。针对于学历认证领域,由于条约公开,在条约外无法随意篡改的特性,天然具备稳定性和中立性。 - -该智能合约中三种角色如下: -- 学校 -- 个人 -- 需要学历认证的机构或公司 - -学校可以根据相关信息在区块链上为某位个人授予学历,相关机构可以查询某人的学历信息,由于使用私钥签名,确保了信息的真实有效。 -为了简单,尽量简化相关的业务,另未完成学业的学生因违纪或外出创业退学,学校可以修改其相应的学历信息。 - -账户私钥应该由安装在本地的客户端生成,本例中为了简便,使用模拟私钥和公钥。 - -#### 数据结构设计 -- 学校 - - 名称 - - 所在位置 - - 账号地址 - - 账号公钥 - - 学校学生 -- 个人 - - 姓名 - - 账号地址 - - 过往学历 -- 学历信息 - - 就读学校 - - 就读年份 - - 完成就读年份 - - 就读状态 //0:毕业 1:退学 - -#### function及各自实现的功能 -- `init` 初始化函数,并创建一所学校 -- `invoke` 调用合约内部的函数 -- `query` 查询相关的信息 -- `updateDiploma` 由学校更新学生学历信息,并签名 -- `enrollStudent` 学校招生 -- `addSchool` 添加一名新学校 -- `addStudent` 添加一名新学生 -- `getStudentByAddress` 通过学生的地址访问学生的账号信息 - -#### 接口设计 - - -#### 测试 +### 学历认证 +#### 功能描述 +该智能合约实现了一个简单的征信管理的案例。针对于学历认证领域,由于条约公开,在条约外无法随意篡改的特性,天然具备稳定性和中立性。 + +该智能合约中三种角色如下: +- 学校 +- 个人 +- 需要学历认证的机构或公司 + +学校可以根据相关信息在区块链上为某位个人授予学历,相关机构可以查询某人的学历信息,由于使用私钥签名,确保了信息的真实有效。 +为了简单,尽量简化相关的业务,另未完成学业的学生因违纪或外出创业退学,学校可以修改其相应的学历信息。 + +账户私钥应该由安装在本地的客户端生成,本例中为了简便,使用模拟私钥和公钥。 + +#### 数据结构设计 +- 学校 + - 名称 + - 所在位置 + - 账号地址 + - 账号公钥 + - 学校学生 +- 个人 + - 姓名 + - 账号地址 + - 过往学历 +- 学历信息 + - 就读学校 + - 就读年份 + - 完成就读年份 + - 就读状态 //0:毕业 1:退学 + +#### function及各自实现的功能 +- `init` 初始化函数,并创建一所学校 +- `invoke` 调用合约内部的函数 +- `query` 查询相关的信息 +- `updateDiploma` 由学校更新学生学历信息,并签名 +- `enrollStudent` 学校招生 +- `addSchool` 添加一名新学校 +- `addStudent` 添加一名新学生 +- `getStudentByAddress` 通过学生的地址访问学生的账号信息 + +#### 接口设计 + + +#### 测试 diff --git a/hyperledger/chaincode_example05.md b/hyperledger/chaincode_example05.md index 9bb662b511678215d7abdcc5ffd661daa9b500c6..16d328fe2cbfe2a7b3cd8f56f5a863671796a71b 100644 --- a/hyperledger/chaincode_example05.md +++ b/hyperledger/chaincode_example05.md @@ -1,36 +1,36 @@ -### 社区能源共享案例 -#### 功能描述 -以纽约实验性的能源微电网为例,作为一个简单的案例进行实现。 - -“在总统大道的一边,五户家庭通过太阳能板发电;在街道的另一边的五户家庭可以购买对面家庭不需要的电力。而连接这项交易的就是区块链网络,几乎不需要人员参与就可以管理记录交易。”但是这个想法是非常有潜力的,能够代表未来社区管理能源系统。” - -布鲁克林微电网开发商LO3创始人Lawrence Orsini说:、 - - “我们正在这条街道上建立一个可再生电力市场,来测试人们对于购买彼此手中的电力是否感兴趣。如果你在很远的地方生产能源,运输途中会有很多损耗,你也得不到这电力价值。但是如果你就在街对面,你就能高效的利用能源。” - -在某一块区域内存在一个能源微电网,每一户家庭可能为生产者也可能为消费者。部分家庭拥有太阳能电池板,太阳能电池板的剩余电量为可以售出的电力的值,为了简化,单位为1.需要电力的家庭可以向有足够余额的电力的家庭购买电力。 - -账户私钥应该由安装在本地的客户端生成,本例中为了简便,使用模拟私钥和公钥。 - -#### 数据结构设计 -在该智能合约中暂时只有一种角色,为每一户家庭用户。 - -- 家庭用户 - - 账户地址 - - 剩余能量 //部分家庭没有太阳能电池板,值为0 - - 账户余额(电子货币) - - 编号 - - 状态 //0:不可购买, 1:可以购买 - - 账户公钥 - -#### function及各自实现的功能 -- `init` 初始化操作 -- `invoke` 调用合约内部的函数 -- `query` 查询相关的信息 -- `importNet` 某一位用户加入能源微网 -- `buyByAddress` 向某一位用户购买一定量的电力 -- `getAddressesBuyNumber` 查询具有一定额的电力的用户的地址 -- `changeStatus` 某一位用户修改自身的状态 -#### 接口设计 - -#### 测试 +### 社区能源共享 +#### 功能描述 +以纽约实验性的能源微电网为例,作为一个简单的案例进行实现。 + +>“在总统大道的一边,五户家庭通过太阳能板发电;在街道的另一边的五户家庭可以购买对面家庭不需要的电力。而连接这项交易的就是区块链网络,几乎不需要人员参与就可以管理记录交易。”但是这个想法是非常有潜力的,能够代表未来社区管理能源系统。” + +布鲁克林微电网开发商 LO3 创始人 Lawrence Orsini 说: + +>“我们正在这条街道上建立一个可再生电力市场,来测试人们对于购买彼此手中的电力是否感兴趣。如果你在很远的地方生产能源,运输途中会有很多损耗,你也得不到这电力价值。但是如果你就在街对面,你就能高效的利用能源。” + +在某一块区域内存在一个能源微电网,每一户家庭可能为生产者也可能为消费者。部分家庭拥有太阳能电池板,太阳能电池板的剩余电量为可以售出的电力的值,为了简化,单位为1.需要电力的家庭可以向有足够余额的电力的家庭购买电力。 + +账户私钥应该由安装在本地的客户端生成,本例中为了简便,使用模拟私钥和公钥。 + +#### 数据结构设计 +在该智能合约中暂时只有一种角色,为每一户家庭用户。 + +- 家庭用户 + - 账户地址 + - 剩余能量 //部分家庭没有太阳能电池板,值为0 + - 账户余额(电子货币) + - 编号 + - 状态 //0:不可购买, 1:可以购买 + - 账户公钥 + +#### function及各自实现的功能 +- `init` 初始化操作 +- `invoke` 调用合约内部的函数 +- `query` 查询相关的信息 +- `importNet` 某一位用户加入能源微网 +- `buyByAddress` 向某一位用户购买一定量的电力 +- `getAddressesBuyNumber` 查询具有一定额的电力的用户的地址 +- `changeStatus` 某一位用户修改自身的状态 +#### 接口设计 + +#### 测试