自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

oe1019的专栏

https://github.com/SamYuan1990

  • 博客(71)
  • 收藏
  • 关注

原创 OCI和CNI个人笔记

OCI简单来说OCI(Open Container Initiative (OCI) Specifications)就是两个“规范”Image specifications参考文档定义了如下几个部分,总体来说就是我们平时使用的docker image的定义和方式。也保证了image可以跨平台使用,因为所有的image都遵循image specifications。LayerImage JsonLayer diffidLayer ChainIDImageIDRuntime specif

2022-03-26 15:15:21 1682

原创 记录一下对于macvlan和bridge网络的个人理解

前言个人一直好奇这张经典的网络相关的包在内核层面的“转发图”应该何如对应到我们经常提及的一些概念,如bridge,macvlan。最近做了一些学习,和大家分享一下,如果有错误,请麻烦勘正。谢谢bridge一个经典的bridge网络大概可以描述图:请注意,bridge不一定真的依赖于一张物理网卡于是乎,在我浅显的理解下,一个bridge的模式网桥实际上可以允许网络包从应用层到网络层然后在链接层通过本级或者说“内核”的机制,完成转发到另一个ip地址的操作,如红线所示。macvlan VEPA

2022-03-15 23:02:53 2974

原创 2021-11-10 Fabric contributor meeting 个人笔记

AgendaChaincode-as-a-service builder for Kubernetes - Matthew WhiteSee https://lists.hyperledger.org/g/fabric/message/10510 for more background.Fabric 2.4 Release coming soonGateway相关内容测试阶段前置讨论:https://github.com/hyperledger/fabric/pull/299

2021-11-10 22:34:05 13560

原创 通过test-network-k8s和chaincode service在vscode调试智能合约

概要步骤通过fabric sample中的test-network-k8s和chaincode service在vscode调试智能合约。 合约选用fabric sample中的chaincode-external网络配置127.0.0.1 host.docker.internal > /etc/hosts合约配置{ "address": "host.docker.internal:9999", "dial_timeout": "10s", "tls_required": f

2021-10-31 13:26:51 487

原创 2021-02-17 Fabric Contributor Meeting 个人笔记 Non-fungible token chaincode sample

会议议题Fabric 2.3.1Fabric CA 1.5 release 主要是Go 1.15 作为LTSdefault branch 重命名ERC-721 Non-fungible token chaincode sample动机Fungible Token, 可以交易且没有明显区分的度的比如外汇兑换Non-Fungible Token是唯一的且容易区分的比如票据实现功能个人理解作者这里参考了https://eips.ethereum.org/EIPS/eip-721

2021-02-17 22:33:52 321

原创 总结下混迹TWGC学到了什么?

本文背景前几天TWGC会上, 很多人对自己过去一年在参与开源项目过程中的心得体会与收获进行了总结。我总结能力不太行,姑且写下此文。权且算作鄙人从一个开源使用者,经历参与开源,贡献开源,到不才成为工作组副组长的过程中的部分收获。参考LF基金会的文章, 这里我把自己视为了一家“公司”。对自己的开源战略进行了规划,具体内容写在本文,仅供大家茶余饭后作为谈资。个人收获我把收获分为两个部分,技术水平和思考问题的方式。这里我并没有严格参考基金会文档中的直接和间接分类与定义。我会以如下格式记录书写,如果大家不

2021-02-06 23:36:11 746 1

原创 golang性能优化笔记(二)

背景基于前次的文章,继续对这个库进行力所能及的优化。现在,我们对于golang优化的基础有了一些基础的理解。比如:结合benchmark与pprof清理了代码中出现的重复逻辑初步探索了栈与指针对于内存和性能的影响我们继续来对代码进行优化,具体方法如下:Benchmark首先,为了更好的理解我们之前的结果,很体力活的为每个函数都加了Benchmark测试。指针BenchmarkSm2P256FromBig-16 3303530

2021-01-16 18:35:54 316 4

原创 golang性能优化笔记

记录一次golang代码优化实战之前从来没搞过golang的代码优化,机缘巧合,有个golang的开源项目有性能优化的需要。于是就拿来试试看golang代码的优化了。步骤一使用benchmark与pprof, 进行性能测试go test -cpuprofile cpu.prof -memprofile mem.prof -bench . --count=5pprof -http=":8091" ./cpu.prof步骤二观察代码,很多地方可以明确使用uint32却为定义变量类型。还有一些

2021-01-07 14:11:41 368 1

原创 如何配置Fabric出块参数来达到“最大”TPS

如何配置Fabric出块参数来达到“最大”TPS文章目录如何配置Fabric出块参数来达到“最大”TPS对于参数的了解避免落入batch timeout推论一:我们最好不要依赖一个过大的batchtimeout值来触发fabric出块。PreferredMaxBytes,AbsoluteMaxBytes,MaxMessageCount的关系推论二:在tx大小恒定的情况下。(或者我们可以以均值取代等方式)块内交易数目为PreferredMaxBytes/tx size,MaxMessageCount, Ab

2020-12-12 12:44:59 3522 17

原创 Hyperledger Caliper测试Hyperledger Fabric并用Prometheus Grafana监控

架构这里我采用了Hyperledger Caliper来对本地的fabric network进行压力测试,同时用Prometheus对本机性能指标进行监控。通过Grafana进行可视化。步骤1. 配置本机的Prometheus这里我们使用nodeexporter来监控本机性能开销,使用cadvisor来监控各个contianer,Grafana做UI。修改docker co...

2020-03-25 13:55:00 3594 3

原创 近期参与开源的心得体会

最近随着Kepler项目加入CNCF sandbox,写一篇blog来记录下参与这个项目半年的发展的心得体会。

2023-06-24 21:35:09 754

原创 当我们在讨论OpenSSF的时候我们在讨论什么?

本文旨在对近日在日常聊天和开源社区工作时候的一些OpenSSF相关话题进行反思。本文的创作目的并不带有批评,攻击等任何意味。只是想通过并不严肃的风格来讨论软件供应链安全相关的这个严肃问题。

2023-06-04 19:43:46 423

原创 OCI 个人笔记(二)

这个配置文档宝航了必要的用来实现标容器准操作元数据定义。包含启动工程,环境变量注入,沙箱功能等。在本文的典型的规范定义中,存在JSON形式的规范在schema/config-schema.json以及golang形式的定义 specs-go/config.go。特定平台的配置规范定义于平台相关章节中。 对于特定平台属性,golang代码中有平台相关的标签来进行表征。如具体定义如下 遵循SemVer v2.0.0 格式,定义OCI版本。举例如果一个配置版本是1.1,那么其可用于1.1以及之后版本中。但并不能

2022-07-02 10:24:37 304

原创 Fabric Contributor Meeting - June 29, 2022 个人笔记

fabric contributor meeting Jun 29th 2022

2022-06-29 23:01:56 127

原创 Fabric Contributor Meeting - May 11, 2022 个人笔记

Project status update – Dave Enyeart2.5 将成为下一个LTS版本包含清除private data的功能,以及对应golang和包升级gateway功能,包括event监听,检查点。protobuf发布,sdk更新,sdk的迁移文档已经有了初稿(https://hyperledger.github.io/fabric-gateway/migration),对应用层的主要接口基本保持不变。caliper会在下一个版本0.5版本支持gateway功能。预计几周后上线。

2022-05-11 21:41:07 122

原创 Go 1.18新功能

题记最近看到了Go 1.18的release,主要看下Go 1.18的三个新功能。multi-module workspacesgenericsfuzzing20% Performance Improvementsmulti-module workspaces简而言之,允许workspace内包含其他mod的代码$ mkdir workspace$ cd workspace$ mkdir hello$ cd hello$ go mod init example.com/hello

2022-04-10 21:44:41 278

原创 TDD golang实践上的部分个人经验谈

TDD在我看来,使用TDD的一个好处是避免在程序中加入无关的代码。参考一个TDD的定义和TDD的开发feature的流程如下:You are not allowed to write any production code unless it is to make a failing unit test pass.You are not allowed to write any more of a unit test than is sufficient to fail; and compilati

2022-04-09 20:07:26 295

原创 记录一个golang多线程协作

目标我们有goroutine A,B,C以及主进程MA,B,C和M通过errorch,finishCh和singalCh来互动, 从而实现M捕捉A,B,C中的异常,接受A,B,C全部完成的信号,或者是用户命令行的ctrl+CM需要等待A,B,C的结果并且M需要自旋等待, for { select { case err = <- ErrorCh: fmt.Println("Error msg") return err case <- FinishCh: fmt

2022-04-03 16:50:30 361

原创 Hyperledger Fabric contributor meeting 个人笔记 2022-03-30

日程Fabric 2.5的新功能清理历史上的私有数据依赖更新(golang package)作为下一个LTS releaseGateway release 1.1checkpoint chaincode event, block event listeningprotocol buffer publishingSamples & Documentationk8s improvementchaincode as a service improvementcertifi

2022-03-30 22:05:27 481

原创 Hyperledger Fabric contributor meeting 个人笔记 2022-02-02

主题: Fabric samples - Docker alternativesby Matthew White讨论帖:https://github.com/hyperledger/fabric-samples/discussions/594由于docker的许可证更新(细节),今天来讨论Fabric Samples的对于docker的支持和docker sample的release.release的讨论,2.2.5和2.4.2,支持go 1.172.5的版本中计划对于清理历史数据(

2022-02-02 22:41:41 10716

原创 Fabric contributor meeting 2022-01-05

目前的 Fabric roadmap2.2增加了新的合约生命周期外部合约启动支持私有数据相关增强2.3orderer system channel管理peer上channel数据快照2.4Gateway模型peer 退出channel合约即服务2.5删除私有数据的历史(比如GDPR和敏感数据)3.x在orderer方面:从包结构上,结偶算法和orderer binary在3.0里边计划添加bft支持,取消kafaka包升级,支持opentelemet.

2022-01-07 20:02:58 10717

原创 聊下自己的开源实践和The apache way

题记与声明最近在不同的开源场合都听到了The apache way这篇文章,今天抽机会拜读一下,顺便写个笔记,建议阅读原文。本文中对部分内容有节选。什么是 The apache way原文就是这篇博客:https://blogs.apache.org/foundation/entry/the-apache-way-to-sustainable这是一篇在apache基金会成立20周年之际,发表的一篇博客,里边回顾了20年来apache基金会的使命,同时作为20年来apache基金会的“行为准则”。“

2021-12-19 19:50:07 282

原创 Hyperledger Avalon启动笔记

前略之前有关Avalon的笔记https://blog.csdn.net/oe1019/article/details/109395243参考链接https://hyperledger.github.io/avalon/https://github.com/hyperledger/avalon/blob/main/BUILD.md步骤步骤一 安装构建本地环境docker-compose up --buildCreating network "avalon_default" with th

2021-11-16 21:54:46 1238 1

原创 prometheus-operator ServiceMonitor的经验教训

题记记录一次ServiceMonitor使用笔记, 一开始没用对导致target无法添加成功。https://github.com/prometheus-operator/prometheus-operator/blob/master/Documentation/user-guides/getting-started.md#include-servicemonitors究其原因是ServiceMonitor的选择器没有正确匹配到service上。ServiceMonitorapiVersion:

2021-11-07 22:21:48 1369

原创 一段golang反射和函数相互结合的代码

基于反射确定调用方法轮寻map确定方法调用附带返回值从而实现 基于反射的类操作和处理方法如果类A则方法A如果类B则方法B…相对于switch而言,我们可以把map m作为全局变量,实现变量注入package mainimport ( "fmt" "reflect")func goFunc2(f func(interface{}), i interface{}) { f(i)}func DoString(i interface{}) string { return "s

2021-10-23 21:48:02 83

原创 Transformation between Caliper and Tape

OverviewPrerequisitesIn following sections, we will test Fabric network base on test network.For Caliper, we need- networkConfig.yaml- myAssetBenchmark.yaml- readAsset.js- connection.jsonFor Tape, we will use- config.yamlDefine Test in Caliper

2021-10-16 21:53:02 201

原创 Fabric Contributor Meetings 个人笔记 2021-Oct-13th

Fabric 当前的工作2.4 Gateway和slim SDK,有希望这个季度release,目前在做案例和release的准备,系统测试和文档。账本troubleshoot工具Rest应用案例GDPR相关的隐私数据清除RFCgithub上的zenhub面板,计划替换jiraFabric Strategic Priorities survey resultsBFT清理老旧区块替换goleveldb性能优化Smart client(lib的项目)查询支持TokenKub

2021-10-13 22:55:29 180

原创 2021-09-29 Fabric Contributor Meeting个人笔记

声名本文为个人笔记和部分翻译原文参考:https://wiki.hyperledger.org/display/fabric/Fabric+Strategic+Priorities±+2021+discussionhttps://wiki.hyperledger.org/display/fabric/Contributor+Meetings进行中的项目Fabric GatewayPurging private data stores for GDPR scenariosImproved K

2021-09-29 21:31:59 5874

原创 Hyperledger Indy笔记和翻译(一)

Hyperledger Indy文档地址:https://indy.readthedocs.io/en/latest/Indy 提供工具,代码库和可复用的组建来提供区块链或者其他分布式账本上的数字身份,使得他们可以实现跨越管理层面,应用或者其他层面的互操作。如果你是研发?那么我们从hello world开始。Getting Start一些介绍,比如zoom会议地址和背景故事。背景故事https://hyperledger-indy.readthedocs.io/projects/sdk/en/

2021-08-29 22:23:25 5524

原创 Defi & DAO 笔记

Defi笔记声明Defi比较可编程货币DeFi是如何工作的?为什么我们需要DAO?DAO示例DAOs是如何工作的?声明个人阅读DeFi以及DAO的笔记以及机器翻译,仅供参考Defi比较DeFi传统金融你自己管理钱金融机构托管你自己控制资金花销流向你需要信任金融机构交易在分钟内完成可能需要几天(基于人力流程)假名交易金融活动与身份相连开放给任何人向机构申请使用市场总是开放的交易员休息时市场关闭交易透明,任何人可查看金融机构是封闭的

2021-06-14 16:10:54 129 3

原创 2021-02-03 Fabric Contributor Meeting 个人笔记 有关Fabric Gateway RFC的概要

架构如图 Gateway项目可以作为一个独立的组建部署在网络上。每个组织将可以部署自己的Gateway组建或者将Gateway和Peer部署在一起。签名的变化从设计上,将原本和算法的绑定抽离成为了接口。比如左侧,我们的sdk和加密算法以及证书是强绑定的,那么在新的设计里,这里将sign的功能作为一个接口进行了设计。一个参考实现,那么左侧,比如现在的sdk使用上我们绑定了ecdsa有关的加密算法,而右侧的加密结构上,从设计上加密结构是一个接口,我们可以使用ecdsa有关的加密实现,也可以自

2021-02-03 23:06:42 1136 2

原创 如何以PDF格式保存网页

学习目标:以PDF形式保存网页学习内容:nodejs web 转化pdf 库nodejs 循环nodejs 多线程控制nodejs 文件与字符串处理背景最近突发奇想,想把网站转化为pdf资料,便于携带,查看等。以下记录下学习过程,那么让我们开始把。nodejs web 转化pdf 库首先,经过调研。发现了这样的一个nodejs可用的web转换pdf的库, puppeteer, 中文文档不多说, npm init, npm install puppeteer然后参考READM

2021-02-03 19:04:25 388

原创 Fabric Tape快速入门 视频

Fabric Tape快速入门 视频地址:https://www.bilibili.com/video/BV1k5411L79A

2020-11-06 12:14:11 597

原创 Hyperledger Avalon的笔记

本文基于Avalon当前的设计和文档项目介绍在我看来,Avalon是一个链外合约方案,基于可信计算服务的一种实现方式。这里如图,不同企业之间的数据通过可信计算服务实现链外代码执行。参考:笔记:Hyperledger Fabric的链外数据相关这里是一个Iot设备的实现方案Iot设备通过边缘计算服务,和可信计算服务,应用密码学?将大量数据转化为一些凭据,借由凭据的方式存储在区块链上。架构主要分为三个部分,客户端程序,链码,和可信计算环境。可信计算服务采用了服务注册的方式,从而最大化性能。

2020-10-30 23:24:48 600 2

原创 笔记:Hyperledger Fabric的链外数据相关

这里写自定义目录标题起因:当智能合约不再智能,我们方法第一种方法(可信第三方程序)注意事项需要避免第二种方法(可信预言机)条件此场景的体系结构起源,预言机到底是什么?逻辑角度法律和商业含义模式模式一 公共channel注意事项模式二 智能合约调用外部可信数据源作为oracle模式三 可信凭证总结原文起因:当智能合约不再智能,我们智能合约的验证和验证创造了透明度,并增加了对管理网络中执行的交易的流程和规则的可见性。因此,理想情况下,所有事务逻辑都应该封装在智能合约中,以保证参与交易背书过程的所有对等方执行

2020-10-25 13:39:45 1073 1

原创 个人有关《超级账本区块链性能指标白皮书》的笔记

原文:https://www.hyperledger.org/learn/publications/blockchain-performance-metrics本文:本文只是我对原文的一些重点的一些摘录。出块频率高低并不一定是有效的tps指标,一个块里包含了多少有效的交易才是重点啊。测试系统显示了区块链性能评估的典型配置。左侧的测试线束在右侧显示了用于针对被测系统(SUT)生成负载的程序和系统。图1中的每个术语都在本节中定义。测试线束这个测试线束用于运行性能评估的硬件和软件。这个测试工具通

2020-10-16 20:23:09 921 1

原创 树通过程序栈进行递归

学习目标:通过程序栈进行树的递归学习内容:利用程序栈的思维进行进出栈操作参考:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/学习时间:N/A学习产出:func f(root *TreeNode) *TreeNode { //临界处理,预防空指针 if root == nil { return root } // 执行 tmp := root.Left

2020-10-10 18:57:56 113

原创 leetcode每日一题2020/10/09

https://leetcode-cn.com/problems/linked-list-cycle/Given head, the head of a linked list, determine if the linked list has a cycle in it.There is a cycle in a linked list if there is some node in the list that can be reached again by continuously followi

2020-10-09 23:11:48 212

原创 leetcode每日一题2020/10/08

Write a function that reverses a string. The input string is given as an array of characters char[].Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.You may assume all the charac

2020-10-08 21:11:44 228

原创 总结下算法基本功

递归在我看来递归就是利用本身的程序调用栈来实现的。比如f(n) = f(n-1) + 1 这个递归 实际上在计算机执行的时候是f(0)...f(n-1)f(n)这也是递归和算法的基础。当然我们也可通过手工栈来实现这个效果。比如中左右rootroot.leftroot.right中右左rootroot.rightroot.left左中右root.left.leftroot.left.rightroot.leftrootavl高度计算root.left.h

2020-09-20 13:39:38 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除