项目经理下达任务书。
收到,根据项目经理经理下达的任务书我将进行区块链核心部分操作。
1.根据运维工程师部署的可视化界面,来编写智能合约。
2.智能合约代码编写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| pragma solidity ^0.4.25;
// 用户存储合约 contract UserStorage { // 用户结构体,存储哈希密码和用户是否存在的标识 struct User { bytes32 passwordHash; // 存储密码的哈希值,避免明文存储,提高安全性 bool exists; // 标识用户是否已注册 } // 使用映射存储用户名对应的用户信息 mapping(string => User) private users; /** * @dev 存储用户密码(哈希化) * @param _username 用户名 * @param _password 明文密码(将被哈希存储) */ function storePassword(string _username, string _password) public { require(!users[_username].exists, "User already registered."); // 确保用户未注册 users[_username] = User(keccak256(abi.encodePacked(_password)), true); // 存储哈希密码 } /** * @dev 验证用户密码是否正确 * @param _username 用户名 * @param _password 用户输入的明文密码 * @return 是否验证成功(true: 密码匹配, false: 密码错误) */ function verifyPassword(string _username, string _password) public view returns (bool) { require(users[_username].exists, "User not registered."); // 确保用户已注册 return users[_username].passwordHash == keccak256(abi.encodePacked(_password)); // 校验密码哈希值 } }
|
3.安装区块链控制台
1 2 3
| cd cd ./generator tar -zxvf ./resource/console.tar.gz -C ./
|
将sdk密钥证书复制到控制台的配置文件夹中,并且初始化配置文件
1 2
| cp ./sdk_ca_a/sdk/* ./console/conf/ cp -r ./console/conf/config-example.toml ./console/conf/config.toml
|
启动控制台
测试控制台,查询当前块的高度,退出控制台
进入控制台文件夹下,并生成与前后端连接的代码
1 2
| cd ./console bash sol2java.sh -p site.backrer.fisco
|
出现success
代表代码生成成功。
报告项目经理按你下达的任务指标我以完成编写工作。
我现将连接信息交给项目经理。