{"id":14956297,"url":"https://github.com/jimilai/ethereum-dapp-ipfs-node.js-mongodb","last_synced_at":"2025-09-30T10:32:17.428Z","repository":{"id":100550005,"uuid":"127368145","full_name":"jimilai/ethereum-dapp-ipfs-node.js-mongodb","owner":"jimilai","description":"以太坊开发DApp实战教程——用区块链、星际文件系统（IPFS）、Node.js和MongoDB来构建电商平台 ","archived":false,"fork":false,"pushed_at":"2018-03-30T02:13:40.000Z","size":12,"stargazers_count":51,"open_issues_count":1,"forks_count":21,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-14T12:00:28.018Z","etag":null,"topics":["dapp","dapp-example","ethereum","ethereum-blockchain","ethereum-contract","ethereum-dapp","ethereum-token","express","ipfs","ipfs-blockchain","ipfs-ethereum","ipfs-protocol","mongodb","nodejs","nodejs-mongodb"],"latest_commit_sha":null,"homepage":"http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6/?affid=20180330github","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimilai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-30T01:56:54.000Z","updated_at":"2024-09-21T20:05:28.000Z","dependencies_parsed_at":"2023-05-15T20:45:37.603Z","dependency_job_id":null,"html_url":"https://github.com/jimilai/ethereum-dapp-ipfs-node.js-mongodb","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"0f2b239cd378f54ea6d58f72ba23f66dbdefd05e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimilai%2Fethereum-dapp-ipfs-node.js-mongodb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimilai%2Fethereum-dapp-ipfs-node.js-mongodb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimilai%2Fethereum-dapp-ipfs-node.js-mongodb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimilai%2Fethereum-dapp-ipfs-node.js-mongodb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimilai","download_url":"https://codeload.github.com/jimilai/ethereum-dapp-ipfs-node.js-mongodb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234728019,"owners_count":18877707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dapp","dapp-example","ethereum","ethereum-blockchain","ethereum-contract","ethereum-dapp","ethereum-token","express","ipfs","ipfs-blockchain","ipfs-ethereum","ipfs-protocol","mongodb","nodejs","nodejs-mongodb"],"created_at":"2024-09-24T13:12:40.109Z","updated_at":"2025-09-30T10:32:12.144Z","avatar_url":"https://github.com/jimilai.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ethereum-dapp-ipfs-node.js-mongodb\n以太坊开发DApp实战教程——用区块链、星际文件系统（IPFS）、Node.js和MongoDB来构建电商平台 \n\n[http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6](http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6/?affid=20180330github)\n\n### 一、引言\n* 1.1 课程简介\n* 1.2 去中心化，Why？\n* 1.3 课程项目概述\n* 1.4 基础知识要求\n* 1.5 应用架构及区块链概述\n* 1.6 理解架构组件的作用\n* 1.7 敏捷开发\n### 二、 电商智能合约：商品上架与商品信息读取\n* 2.1 冲刺目标\n* 2.2 项目初始化\n* 2.3 商品数据结构\n* 2.4 商品目录表\n* 2.5 商品上架\n* 2.6 查看商品信息\n* 2.7 部署电商智能合约\n* 2.8 控制台交互测试\n* 2.9 脚本交互测试\n* 2.10 模拟数据生成脚本\n### 三、 电商合约：商品竞价与开标\n* 3.1 冲刺目标\n* 3.2 拍卖概述\n* 3.3 去中心化的维科瑞拍卖\n* 3.4 出价信息的数据结构\n* 3.5 提交密封出价\n* 3.6 揭示真实出价\n* 3.7 获取竞价结果\n* 3.8 控制台与脚本交互测试\n### 四、 初识IPFS：星际文件系统\n* 4.1 IPFS：去中心化的文件系统\n* 4.2 IPFS节点软件安装与设置\n* 4.3 IPFS网络的文件上传与下载\n### 五、 用户界面：商品展示页\n* 5.1 冲刺目标\n* 5.2 前端开发概述\n* 5.3 前端入口脚本\n* 5.4 商品展示网页\n* 5.5 webpack配置、构建与测试运行\n* 5.6 商品数据的提取与渲染\n### 六、 用户界面：商品上架页\n* 6.1 冲刺目标\n* 6.2 商品上架流程\n* 6.3 商品数据采集\n* 6.4 上传资源到IPFS\n* 6.5 上传商品信息到区块链\n### 七、用户界面：商品详情页\n* 7.1 冲刺目标\n* 7.2 商品详情页\n* 7.3 渲染商品详情\n* 7.4 出价表单\n* 7.5 揭示出价表单\n### 八、 托管合约：多重签名托管\n* 8.1 冲刺目标\n* 8.2 为什么需要托管合约\n* 8.3 托管合约的状态设计\n* 8.4 释放资金给卖家\n* 8.5 返还资金给买家\n### 九、 托管资金管理\n* 9.1 冲刺目标\n* 9.2 托管阶段概述\n* 9.3 电商合约：结束拍卖方法\n* 9.4 商品详情页：结束拍卖表单\n* 9.5 商品详情页：显示拍卖结果\n* 9.6 电商合约：封装托管合约访问接口\n* 9.7 商品详情页：托管信息显示\n* 9.8 用户界面：资金流向投票\n### 十、 链下数据存储\n* 10.1 冲刺目标\n* 10.2 为什么需要链下存储\n* 10.3 MongoDB概述\n* 10.4 Mongoose概述\n* 10.5 商品模型的架构定义\n* 10.6 express概述\n* 10.7 Solidity事件\n* 10.8 监听商品上架事件\n* 10.9 商品查询API\n* 10.10 渲染商品展示页\n### 十一、 课程总结\n* 11.1 部署简明方案\n* 11.2 进一步学习\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimilai%2Fethereum-dapp-ipfs-node.js-mongodb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimilai%2Fethereum-dapp-ipfs-node.js-mongodb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimilai%2Fethereum-dapp-ipfs-node.js-mongodb/lists"}