草庐IT

钻石合约

全部标签

2022安全与软工顶会中区块链智能合约相关论文

2022安全与软工顶会中区块链智能合约相关论文前言安全顶会S&PUSENIXSecurityCCSNDSS软工顶会TOSEMTSEISSTAFSEASEICSE前言主要整理了2022年四大安全顶会和六个软工顶会中,有关区块链智能合约的相关论文。搜索方式是:在dblp中该顶会的页面列表直接使用Ctrl+F搜索block、smartcontract,所以如若名字中没有,可能会有遗漏。(按照以往的经验,基本不太会有什么遗漏。)搜集包含的顶会有:安全顶会:S&P、USENIXSecurity、CCS、NDSS软工顶会:TOSEM、TSE、ISSTA、FSE、ASE、ICSE安全顶会S&P1、MatRi

区块链智能合约教材出版

庆祝我们的区块链智能合约教材出版。感谢电子工业出版社的章海涛编辑和合著者华科软件学院的黄立群教授,华科计算机学院黄晓涛教授。购买链接在:https://detail.tmall.com/item.htm?spm=a212k0.12153887.0.0.4d7c687dBf4ncM&id=679545517535感谢下列区块链权威给本书写推荐辞,并期待未来的合作:金海 华中科技大学教授,中国计算机学会(CCF)区块链专业委员会副主任,IEEEFellow伍前红 北京航空航天大学教授,博导,北航网络空间安全学院副院长,CCF区块链专委会常务委员相里朋 工信部电子五所区块链与数字经济团队负责人、教授

写给Java程序员的Solidity合约快速入门

前段时间有个项目要用到智能合约,合约的载体是类以太的某链,采用Solidity作为语言,因为疫情原因拉了公司一个Java来写,于是有了这篇Solidity快速入门。我首先要说的是Java开发写solidity合约是基本可行的,大体思路和解决方案都类似,甚至我认为比通常的Java开发还要简单一些。当然公链开发要再学习一些优化技巧,这些我们就不在这里聊了。准备工作要做Solidity开发,首先要有一个趁手的工具,REMIX是Ethernum官方一直推荐的IDE,用起来很方便,建议通过这个入手。我让我的JAVA开发首先做的事情是通过这个IDE编写一个简单的加法合约,也就是实现输入a,b,输出出a+b

Fabric 账本数据块结构解析(一):如何解析账本中的智能合约交易数据

id:BSN_2021公众号:BSN研习社作者:红枣科技高晨曦背景:BSN公网Fabric联盟链的出现降低了使用区块链的难度,在通过BSN城市节点网关发起交易时,只能获取最基本交易信息,想要展示更多区块链特性的数据就需要从账本数据中获取,而解析账本数据有一定的难度。目标:了解账本数据结构,更好的设计开发自己的项目对象:使用BSN联盟链Fabric的开发人员前言开始之前先看一个简单的合约代码import( "github.com/hyperledger/fabric-contract-api-go/contractapi" "github.com/hyperledger/fabric-contr

Solidity 合约安全,常见漏洞 (上篇)

Solidity合约安全,常见漏洞(上篇)Solidity合约安全,常见漏洞(下篇)这个智能合约安全系列提供了一个广泛的列表,列出了在Solidity智能合约中容易反复出现的问题和漏洞。Solidity中的安全问题可以归结为智能合约的行为方式不符合它们的意图。这可以分为四大类:资金被盗资金被锁住或冻结在合约内人们收到的奖励比预期的少(奖励被延迟或减少)。人们收到的奖励比预期的多(导致通货膨胀和贬值)。我们不可能对所有可能出错的事情做一个全面的列表。然而,正如传统的软件工程有常见的漏洞主题,如SQL注入、缓冲区超限和跨网站脚本,智能合约中也有反复出现的反模式(anti-pattern)。智能合约

Solidity 合约安全,常见漏洞(第四篇)

Solidity合约安全,常见漏洞(第四篇)权力过大的管理员仅仅因为一个合约有一个所有者或管理员,这并不意味着他们需要无限权力。考虑一个NFT。按理说,只有所有者才能从NFT销售中提取收益,但如果所有者的私钥被泄露,能够暂停合约(阻止转账)就会造成严重的破坏。一般来说,管理员的权限应该尽可能的小,以减少不必要的风险。使用Ownable2Step而不是Ownable这在技术上不是一个漏洞,但OpenZeppelinownable如果所有权被转移到一个不存在的地址,会导致合约所有权的丧失。Ownable2step要求接收者确认所有权。这可以防止意外地将所有权发送到一个错误的地址。四舍五入的错误So

区块链技术必杀技之——智能合约

区块链技术智能合约1.1什么是智能合约虽然在法律范畴上来说,智能合约是否是一个真正意义上的合约还有待研究确认,但在计算机科学领域,智能合约是指一种计算机协议,这类协议一旦制定和部署就能实现自我执行(self-executing)和自我验证(self-verifying),而且不再需要人为的干预。从技术角度来说,智能合约可以被看作一种计算机程序,这种程序可以自主地执行全部或部分和合约相关的操作,并产生相应的可以被验证的证据,来说明执行合约操作的有效性。在部署智能合约之前,与合约相关的所有条款的逻辑流程就已经被制定好了。智能合约通常具有一个用户接口(interface),以供用户与已制定的合约进行

EOSIO源码分析 - EOSIO合约开发库

EOSIO合约开发库通过简单的源码分析,可以很清楚的看到EOSIO合约开发库在目录libraries下,各个库的功能如下:注意:由于篇幅问题,只介绍最主要的,常用的CDT:总目录|----libraries:合约开发库总目录|----boost:经过裁剪的boost库|----eosiolib:链提供的合约API接口|----capi:访问链的宿主函数API接口|----contracts:宿主函数API的部分封装|----action.hpp:对action分装,调用内联action,使用此类|----contract.hpp:合约基类|----multi_index.hpp:合约中最重要的

python - ibpy:提取多个合约的 API 响应

我有兴趣使用ibpy和InteractiveBrokersAPI来获取给定100只股票的实时报价数据。下面的代码来自网络上的示例,适用于一只股票。谁能告诉我如何同时处理100只股票?Python脚本:fromib.optimportibConnection,messagefromib.ext.ContractimportContractfromtimeimportsleepdefmy_callback_handler(msg):inside_mkt_bid=''inside_mkt_ask=''ifmsg.field==1:inside_mkt_bid=msg.priceprint'b

solidity使用create2预测合约地址|create2用法|智能合约create2

此篇文章教你如何在部署合约前就可以确定合约地址一、合约源码让我们创建一个工厂合约,它包含两个合约。第一个是Demo合约,其中一个函数可以读取全县所有者的钱包地址。第二个合约是工厂合约,它可以在部署Demo合约前获取其合约地址。这个合约将使用Solidity文档中所说的CREATE2操作码:加“盐”的合约创建/create2。//SPDX-License-Identifier:MITpragmasolidity^0.8.0;contractContractDemo{addresspublicowner;//Onlyownerscancalltransactionsmarkedwiththismo