阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      朱安邦的工作经历

      基本信息

      我叫朱安邦,现杭州

      仅分享我做过的一些开源的项目;

      其它在公司的coding和内网Svn的项目,因涉及隐私不列出,不分享。

      团队的开源Github: https://github.com/canonchain

      博客

      个人总结

      擅长区块链周边的业务开发,使用 JavaScript 封装公用业务模块,npm 包的制作,Node.js 做接口以及相对复杂的业务,在公司的团队内主要做一些探索性的开发和处理棘手性的问题

      设计师出身,有不错的美感和用户体验思维,做过 2 年半的前端开发组长,有相对丰富的项目推进和人员调配经验。

      内心真正的热爱大前端这个行业,并建立 阿西河前端教程(axihe.com)的网站,用于分享和帮助别人,以及交流提高自己的前端技术。

      技能总结

      • 前端基础技能 HTML/CSS/JavaScript 均熟练掌握
      • 熟练使用 Vue.jsReact.js,Angular,且均做过稳定运行的线上产品。
      • 熟练使用 TypeScript,Gulpbabel,Webpack 及不同情况下的 Webpack 配置
      • 熟读 web3.js 源码,对以太坊前端生态的技术有较深入的理解,并做过多个类似的区块链线上产品(下面项目区有介绍)
      • 良好的数据结构和算法基础,熟练使用基于 Nodejs 的后端开发,开发过基于Express,Koa,Eggjs的线上产品
      • 熟悉Nodejs线程模型,并发模型,异步原理,熟悉V8引擎;
      • 深刻理解 HTTPHTTPSgrpc 网络协议
      • 熟悉 PostgreSql,Mongodb 的使用和性能优化(了解基本数据库的优化,索引知识,但没有做过线上产品的分库分表)。
      • 熟练使用 GitSVN 进行团队协作
      • 熟练进行 LinuxWindows服务器下的项目部署,熟悉Docker。
      • 熟练使用抓包工具 CharlesPostman,以及 Chrome Dev Tools 工具
      • 可以阅读英文的文档,但口语较差

      前端工作经历

      • Nakamoto & Turing Labs (实验室性质的组织,非公司)
        • 2018 年 1 月 - 至今
        • 配合 3 位在美国的博士大佬做大前端辅助工作
        • 主要是分布式计算和区块链科研方向的前端辅助
      • 杭州链生科技有限公司 (区块链开发的公司)
        • 2018 年 6 月 - 至今
          • 2018 年 6 月劳动关系由 微飞胜科技 转到 链生科技
          • 老板和团队均未改变,仅换了下劳动关系
        • 从事工作
          • 区块链浏览器开发 - 独立完成
          • 区块链 PC 钱包开发 - 独立完成
          • 区块链 Web 开放 Api 开发 - 独立完成
          • czr.js 开发 (JavaScript SDK) - 独立完成
          • Erc20 代币映射到主网币的完整发币流程 - 独立完成
          • 智能合约的开发工具开发 - 辅助同事完成
      • 杭州微飞胜科技有限公司
        • 2016 年 5 月 - 2018 年 6 月
          • 劳工关系后续转到 链生科技
        • 从事工作
          • 微信公众号开发
          • 基于微信摇一摇的 iBeacon 设备(摇钱宝)周边页面开发
            • “摇钱宝"是微信摇一摇市场份额排名第一
          • 内部管理后台的开发 (用户为微信用户,用户量为 150 万)
          • 内部通用 JS 模块的封装(基于 jQuery 或 基于原生 JavaScript)
      • 科大讯飞股份有限公司
        • 从事工作
          • 内部项目的管理后台开发

      工作经历总结:先在安徽合肥的科大讯飞股份有限公司工作,后面 2016 年入职一家杭州创业型公司;

      项目描述

      区块链浏览器开发 - 独立完成

      • 线上地址: explorer.canonchain.com
      • Github仓库
      • 说明:
        • Axure做原型图 -> Sketch做设计稿 -> Vue.js做前端页面 -> Nodejs + Express + PostgreSql做后端接口
        • Nodejs 做服务,实时从区块链节点中获取数据,经过组装后写入PostgreSql数据库的各个表
      • 难点:
        • 因测试的时,经常用 3 亿至 5 亿条数据进行模拟测试,所以在 SQl 索引及分页查询优化地方进行摸索很久
        • 区块链节点开发的同事因需要频繁测试 Bug 及分叉情况,所以要求浏览器的数据展示要及时;而一笔交易需要处理封装后写入到 21 个数据表中,所以 Nodejs 写入数据库的代码性能做了很多优化,重点是数据库索引及前端查询方式的优化,最终优化到:从向节点获取数据开始计算,到写入数据库完毕;Nodejs 服务每秒可以处理 1600-2500 笔交易;

      区块链 PC 钱包开发 - 独立完成

      • 地址:https://github.com/canonchain/canonchain-wallet
      • 说明:
        • Axure做原型图 -> Sketch做设计稿 -> Electron 做页面和应用
        • 节点程序由 Electron 进行下载和控制
      • 难点
        • Windows 平台的兼容性,热更新在 win10 部分系统被默认屏蔽的问题
        • Windows 平台因环境缺失,导致应用意外的问题
        • 360/ 腾讯管家对Electron报毒的处理
        • Mac 系统中节点下载后,部分系统的节点无权限问题
        • 在强制断电,系统蓝屏等情况下,本地存储的账号文件的安全保障

      区块链 WebApi 开发 - 独立完成

      • 区块链信息查询的接口
      • 说明:
        • 身份 Key 的生成
        • Api 调用的频率限制
          • 使用 Node.js + Koa + PostgreSql 完成
      • 难点
        • API 的身份验证
        • API 调用速率的限制及扩展,避免 API 的恶意使用
        • 从浏览器sql内取数据,主要是数据库优化以及业务处理来提高性能

      czr.js 开发 (JS SDK) - 独立完成

      • 地址:https://github.com/canonchain/czr.js
      • SDK的使用文档: https://czr.readthedocs.io/en/latest/
      • 说明:
        • 与节点进行交互的方法
        • 周边的账户以及常用工具类方法
        • 合约相关的封装
      • 难点
        • 发送交易时,因不确定调用的节点是否为恶意,以及是否有wireshark这种显卡级抓包工具及类似的截取脚本,所以交易流程做了特殊处理;可以保证即使发送到恶意节点,用户的资产信息也是绝对的安全
        • 账号随机生成时,在内存中工作生成,因为担心有恶意脚本可以读取内存中的信息,做了对应的随机混淆
        • 因为需要在浏览器中使用,而账号的生成算法是C++写的,所以用WebAssembly转为.wasm文件,后期因为多个 wasm 维护问题,又转为base64使用

      Erc20 代币映射发币 - 独立完成

      • 地址: http://explorer.canonchain.com/#/mapping_log
      • 说明:
        • 用户通过智能合约将 Erc20 Token 转入合约,进行映射
        • 监听 Eth 主网,过滤需要的交易,组装写入 PostgreSql;
        • Nodejs 服务从数据库中筛选合适的数据,自动转入等额的主网币
      • 难点
        • 做 Nodejs 服务时候的,各种异常的处理,写到最后try catch的代码比业务代码还多。
        • infura接口的返回数据,不应该作为精准来源,最好自建一个;

      智能合约开发工具 - 辅助同事完成

      • 地址: studio.canonchain.com
      • 说明:
        • 开发和调试智能合约的工具
        • 主要是协助同事进行项目的开发,提供技术建议
        • 因需要中国和美国等都需要正常访问,静态资源使用了阿里云的全球 CDN

      分布式算力租用 - 辅助同事完成

      • 地址: www.gopekka.com
      • 说明:
        • 基于 Eth Token 的分布式算力租用
        • 独立完成配套的 Pc 端应用,使用 Electron
        • 协助同事进行 Web 项目的开发,提供技术建议
        • 代表项目和又拍云进行项目对接
          • 协商合作的技术实现方案
          • 对定制接口协商内部同事对接
        • 推进项目的进度

      其他

      我在公司内搭建了NPM私服用来储存内部业务的包,公司的npm私服上的通用包,涉及公司敏感信息和隐私,不列出

      其它项目属于公司为别的公司做的定制产品,因涉及公司隐私,不再继续放出。

      目录
      目录