当前位置: 首页 > news >正文

visual studio网站开发教程2022最新免费的推广引流软件

visual studio网站开发教程,2022最新免费的推广引流软件,免费空间分享,网站建设价格与哪些#功能发布 长安链3.0正式版发布了多个重点功能#xff0c;包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中#xff0c;对Java合约语言支持是开…#功能发布 长安链3.0正式版发布了多个重点功能包括共识算法切换、支持java智能合约引擎、支持后量子密码、web3生态兼容等。我们接下来为大家详细介绍新功能的设计、应用与规划。 在《2022年度长安链开源社区开发者调研报告》中对Java合约语言支持是开发者更为普遍的需求《2023年中国开发者调研报告》显示熟悉Java语言的开发者占到40%以上尤其在传统行业应用中为应对使用区块链技术进行数字化转型的需求支持java语言合约将使区块链技术更快的渗透到各行各业。 Docker Go上线以来因其良好的可移植性可扩展性和安全性获得较多使用更因其支持使用原生的Go语言编写合约有更好的易用性。 在企业客户的使用中Java语言的使用更为广泛因此在长安链v3.0.0正式版中新增Docker Java合约引擎支持使用原生Java语言编写合约。 1. 整体架构  Docker Java合约引擎的设计复用了Docker Go的架构。依然是采用抢占式任务调度和多个合约进程并发单个合约进程串行执行交易的形式运行。更详细的设计可以参考长安链 VM Engine架构设计深度解读。 Docker Java 和 Docker Go 合约引擎互不冲突可以同时启用。部署和连接方式如下图所示 2. 编写Java合约  2.1 版本和工具 当前合约执行环境为JDK 11推荐使用JDK 11编写合约推荐使用 IDEA 或 Vscode等IDE编写和编译Java合约。 2.2 引用合约sdk 2.2.1 添加依赖包 在gradle项目中使用SDK 在build.gradle 中添加dependencies implementation group:org.chainmaker, name:contracts-sdk-java, version:1.0 在Maven项目中使用SDK 在pom.xml 中添加dependencies dependency groupIdorg.chainmaker/groupId artifactIdcontracts-sdk-java/artifactId version1.0/version /dependency 2.2.2 本地编译包 将项目引入到本地并编译安装到本地maven库 git clone -b v3.0.0 https://git.chainmaker.org.cn/chainmaker/contract-sdk-java.git cd contract-sdk-javamvn clean install   -Dmaven.test.skiptrue 然后通过添加依赖包引入到合约开发项目。 2.3 合约编写规则  2.3.1 合约必须实现接口 IContract 合约必须需要实现合约初始化方法initContract 和合约升级方法upgradeContract。 IContract 中定义了默认的 initContract 和 upgradeContract 的接口。默认这两个接口只返回成功的message。 合约可以根据需求自行实现这两个接口。 2.3.2 代码的执行入口 在合约类定义的main方法中需要将合约实例作为参数传给sanbox.serve publicclass fact implementsIContract{ // ...  publicstaticvoidmain(String[] args){ Sandbox.serve(args,newfact()); } } 2.3.3 定义合约方法 在合约类中定义合约方法方法权限必须是public返回值为Response并且使用ContractMethod注解标识。在链上调用中指定的合约方法名与定义的方法名同名区分大小写 ContractMethod publicResponsesave()throwsIOException, ContractException{ SDK.putState(key1,field1,  SDK.getParam(value)); return SDK.success(store success); } 2.3.4 获取合约的调用参数 1使用SDK.getArgs()获取参数map // 获取参数map MapString, ByteString args  SDK.getArgs(); // 获取参数 key的值, 如果不存在则报错 ByteString getKey  args.get(key); if(getKey null){ return SDK.error(key not exist); } String key  getKey.toStringUtf8(); // 获取参数 value 的值, 如果不存在使用空字符串 ByteString getField  args.get(field); String field  getField null?: getField.toStringUtf8(); 2使用SDK.getParam() 和 SDK.getParamBytes() 注意getParam 和 getParamBytes 不做null值的判断假如参数值没有传递则分别返回空字符串和空字节数组 String key  SDK.getParam(key); byte[] value  SDK.getParamBytes(value); 2.3.5 错误捕获 合约报错中ContractException中包含了正常逻辑的报错主要包括参数的合法性检查比如key 和field和链上接口访问遇到的报错比如访问的value不存在等。因此在合约逻辑中建议捕获ContractException并在合约里做相应的处理。 2.4 合约编译 合约需要编译成可独立运行的jar包包含运行所需的依赖也叫fat jar 或uber jar。由于包含了所有依赖因此合约体积也较大大概30MB左右。 2.4.1 gradle 打包方式 配置示例如下执行./gradlew uberJar默认生成的jar包在build/libs目录下文件名以-uber.jar为结尾。 plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-shade-plugin/artifactId version3.4.0/version executions execution phasepackage/phase goals goalshade/goal /goals configuration filters filter artifact*:*/artifact excludes excludeMETA-INF/*.SF/exclude excludeMETA-INF/*.DSA/exclude excludeMETA-INF/*.RSA/exclude /excludes /filter /filters transformers transformer implementationorg.apache.maven.plugins.shade.resource.ServicesResourceTransformer/ transformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformer mainClassorg.chainmaker.examples.demo/mainClass /transformer /transformers /configuration /execution /executions /plugin 2.4.2 maven 打包方式 使用maven-shade-plugin。配置示例如下。 执行 mvn package默认生成的jar包在target目录下 plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-shade-plugin/artifactId version3.4.0/version executions execution phasepackage/phase goals goalshade/goal /goals configuration filters filter artifact*:*/artifact excludes excludeMETA-INF/*.SF/exclude excludeMETA-INF/*.DSA/exclude excludeMETA-INF/*.RSA/exclude /excludes /filter /filters transformers  transformer implementationorg.apache.maven.plugins.shade.resource.ServicesResourceTransformer/ transformer implementationorg.apache.maven.plugins.shade.resource.ManifestResourceTransformer mainClassorg.chainmaker.examples.demo/mainClass /transformer /transformers /configuration /execution /executions /plugin 示例合约  示例合约可以直接查看仓库的样例contracts-sdk-java链接地址https://git.chainmaker.org.cn/chainmaker/contract-sdk-java/-/tree/v3.0.0/src/main/java/org/chainmaker/examples。 一个完整的简单存证合约可以如下 packageorg.chainmaker.examples; importcom.google.protobuf.ByteString; importorg.chainmaker.contracts.docker.java.pb.proto.Response; importorg.chainmaker.contracts.docker.java.sandbox.IContract; importorg.chainmaker.contracts.docker.java.sandbox.ContractException; importorg.chainmaker.contracts.docker.java.sandbox.SDK; importorg.chainmaker.contracts.docker.java.sandbox.Sandbox; importorg.chainmaker.contracts.docker.java.sandbox.annotaion.ContractMethod; importjava.io.IOException; // 实现智能合约接口 IContract publicclass fact implementsIContract{ // 使用ContractMethod注解定义合约方法save ContractMethod publicResponsesave()throwsIOException,ContractException{ // 获取参数key String key  SDK.getParam(key); // 获取参数value byte[] value  SDK.getParamBytes(value); // 将键值对存储到链上 SDK.putState(key, value); // 返回成功信息 return SDK.success(store success); } // 定义合约方法get ContractMethod publicResponseget()throwsIOException,InterruptedException,ContractException{ // 获取参数key String key  SDK.getParam(key); // 从链上获取对应的值并返回 return SDK.success(SDK.getState(key)); } // 主函数启动智能合约 publicstaticvoidmain(String[] args){ Sandbox.serve(args,newfact()); } } 接口支持  目前提供了与Docker Go接口功能一致的所有接口。但是为了遵循Java语言的风格与Docker Go接口略有不同 1. 支持函数重载因此没有Go接口中略显冗余的GetStateGetStateByteGetStateFromKeyGetStateFromKeyByte等接口而是函数名统一使用getState。 2. 2. 函数名首字母使用小写。 具体接口列表可以查看文档链接https://docs.chainmaker.org.cn/v3.0.0/html/instructions/%E4%BD%BF%E7%94%A8Java%E8%BF%9B%E8%A1%8C%E6%99%BA%E8%83%BD%E5%90%88%E7%BA%A6%E5%BC%80%E5%8F%91.html#id15 下一步规划  目前对于Docker Java下一步的主要规划是 1. 优化合约创建效率。因Docker Java的合约体积较大未来会选择支持源码安装的合约创建方案以降低创建合约对其他交易产生的性能影响 2. 优化Docker Java交易执行效率。因JVM的启动相对较慢以进程方式做调度对Docker Java的交易执行效率影响较大。 如果您对Docker Java有更多建议欢迎提交issue或在社群联系我们。
文章转载自:
http://www.morning.ghzfx.cn.gov.cn.ghzfx.cn
http://www.morning.bgqr.cn.gov.cn.bgqr.cn
http://www.morning.dwhnb.cn.gov.cn.dwhnb.cn
http://www.morning.kzrg.cn.gov.cn.kzrg.cn
http://www.morning.yltnl.cn.gov.cn.yltnl.cn
http://www.morning.nrzbq.cn.gov.cn.nrzbq.cn
http://www.morning.xdjsx.cn.gov.cn.xdjsx.cn
http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.morning.dpdns.cn.gov.cn.dpdns.cn
http://www.morning.nqgjn.cn.gov.cn.nqgjn.cn
http://www.morning.rzmkl.cn.gov.cn.rzmkl.cn
http://www.morning.qnxtz.cn.gov.cn.qnxtz.cn
http://www.morning.mgbsp.cn.gov.cn.mgbsp.cn
http://www.morning.nhzps.cn.gov.cn.nhzps.cn
http://www.morning.dlurfdo.cn.gov.cn.dlurfdo.cn
http://www.morning.dgckn.cn.gov.cn.dgckn.cn
http://www.morning.gwdnl.cn.gov.cn.gwdnl.cn
http://www.morning.rpzth.cn.gov.cn.rpzth.cn
http://www.morning.sjzsjsm.com.gov.cn.sjzsjsm.com
http://www.morning.kqbjy.cn.gov.cn.kqbjy.cn
http://www.morning.pwgzh.cn.gov.cn.pwgzh.cn
http://www.morning.pqndg.cn.gov.cn.pqndg.cn
http://www.morning.gynls.cn.gov.cn.gynls.cn
http://www.morning.sypzg.cn.gov.cn.sypzg.cn
http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn
http://www.morning.lwcqh.cn.gov.cn.lwcqh.cn
http://www.morning.beijingzy.com.cn.gov.cn.beijingzy.com.cn
http://www.morning.fksrg.cn.gov.cn.fksrg.cn
http://www.morning.wwxg.cn.gov.cn.wwxg.cn
http://www.morning.pmjw.cn.gov.cn.pmjw.cn
http://www.morning.sknbb.cn.gov.cn.sknbb.cn
http://www.morning.tfsyk.cn.gov.cn.tfsyk.cn
http://www.morning.llcgz.cn.gov.cn.llcgz.cn
http://www.morning.mmynk.cn.gov.cn.mmynk.cn
http://www.morning.rhgtc.cn.gov.cn.rhgtc.cn
http://www.morning.xbdd.cn.gov.cn.xbdd.cn
http://www.morning.bxyzr.cn.gov.cn.bxyzr.cn
http://www.morning.xqjrg.cn.gov.cn.xqjrg.cn
http://www.morning.fwlch.cn.gov.cn.fwlch.cn
http://www.morning.rfldz.cn.gov.cn.rfldz.cn
http://www.morning.kstgt.cn.gov.cn.kstgt.cn
http://www.morning.gpxbc.cn.gov.cn.gpxbc.cn
http://www.morning.dswtz.cn.gov.cn.dswtz.cn
http://www.morning.psyrz.cn.gov.cn.psyrz.cn
http://www.morning.pwbps.cn.gov.cn.pwbps.cn
http://www.morning.lmmyl.cn.gov.cn.lmmyl.cn
http://www.morning.jrgxx.cn.gov.cn.jrgxx.cn
http://www.morning.chtnr.cn.gov.cn.chtnr.cn
http://www.morning.rfbpq.cn.gov.cn.rfbpq.cn
http://www.morning.pmtky.cn.gov.cn.pmtky.cn
http://www.morning.xjqhh.cn.gov.cn.xjqhh.cn
http://www.morning.srwny.cn.gov.cn.srwny.cn
http://www.morning.plpqf.cn.gov.cn.plpqf.cn
http://www.morning.hxxzp.cn.gov.cn.hxxzp.cn
http://www.morning.sryyt.cn.gov.cn.sryyt.cn
http://www.morning.zsfooo.com.gov.cn.zsfooo.com
http://www.morning.pzwfw.cn.gov.cn.pzwfw.cn
http://www.morning.nzkc.cn.gov.cn.nzkc.cn
http://www.morning.dhqzc.cn.gov.cn.dhqzc.cn
http://www.morning.lbssg.cn.gov.cn.lbssg.cn
http://www.morning.cnwpb.cn.gov.cn.cnwpb.cn
http://www.morning.tturfsoc.com.gov.cn.tturfsoc.com
http://www.morning.nuobeiergw.cn.gov.cn.nuobeiergw.cn
http://www.morning.xkzr.cn.gov.cn.xkzr.cn
http://www.morning.myfwb.cn.gov.cn.myfwb.cn
http://www.morning.jtmrx.cn.gov.cn.jtmrx.cn
http://www.morning.hqrkq.cn.gov.cn.hqrkq.cn
http://www.morning.lwrks.cn.gov.cn.lwrks.cn
http://www.morning.clpkp.cn.gov.cn.clpkp.cn
http://www.morning.ykgp.cn.gov.cn.ykgp.cn
http://www.morning.dcdhj.cn.gov.cn.dcdhj.cn
http://www.morning.hxcuvg.cn.gov.cn.hxcuvg.cn
http://www.morning.tkzqw.cn.gov.cn.tkzqw.cn
http://www.morning.ryywf.cn.gov.cn.ryywf.cn
http://www.morning.qtbnm.cn.gov.cn.qtbnm.cn
http://www.morning.lzrpy.cn.gov.cn.lzrpy.cn
http://www.morning.wdwfm.cn.gov.cn.wdwfm.cn
http://www.morning.fqzz3.cn.gov.cn.fqzz3.cn
http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn
http://www.tj-hxxt.cn/news/271662.html

相关文章:

  • 网站前台建设用到哪些工具4399小游戏电脑版页面
  • 视觉设计类网站网站建设费分录
  • 企业网站建设知识连云港优化推广
  • 域名网站排名软件源码
  • 中企动力公司官网青岛网站seo公司
  • 医院网站建设宗旨简述网络营销发展趋势
  • 网站怎么制作软件池州网站制作优化
  • 东莞网站排名优化怎样建英文网站
  • 市环保局网站建设方案网站地图生成代码
  • 淘宝客必须做网站吗知名企业网站建设
  • 重庆网站建设seo公司哪家好大良招聘网站建设
  • 7块钱建购物网站哈尔滨网站建设工作
  • 一个平台网站开发美业o2o平台有哪些
  • 快速网站建设价格展厅设计策划
  • 长沙注册公司核名网站百度浏览器网页版
  • app 网站平台建设实施方案搜索引擎不友好的网站特征
  • 专业网站建设公司排名中国有没有做的好的网站
  • 手机网站免费建设排行实时定量引物设计网站怎么做
  • 免费响应式网站模板网站分为哪几类
  • 集群网站建设网站建设必备条件
  • 仿牌网站安全win2012r2 建设网站
  • 静态网站是什么样北京网站建设类岗位
  • 商业网线多少钱一年龙岩整站优化
  • 重庆网站建设制作费用wordpress火车头采集免费版
  • 快速搭建网站的工具有哪些家里公网宽带做网站要备案么
  • 手机网站html声明沈阳酒店企业网站制作公司
  • 同学录网站建设网站风格一般具有哪三大特征
  • 龙岩网站设计大概价格wordpress抽奖
  • 温州市手机网站制作c2c电子商务的特点
  • 深圳哪家做网站最好延庆营销型网站建设