web3-区块链的交互性以及编程的角度看待智能合约

news2025/6/6 20:45:10

web3-区块链的交互性以及编程的角度看待智能合约

跨链交互性

交互性

  • 用户在某一区块链生态上拥有的资产和储备

​ 目标:使用户能够把资产和储备移动到另一个区块链生态上

可组合性

  • 使在某一区块链的DAPP能调用另一个区块链上的DAPP

如果全世界都在用以太坊就会很容易

但是实际情况是很多区块链生态需要进行交互;一些跨链协议:XCMP,IBC等等

如下图将自己的资产从以太坊上转移到Solana,Bit等等
在这里插入图片描述

如何移动资产?建造联邦链桥(跨链桥)

为什么需要外部的校验者?链桥合约不能用于存储用来签名的密钥

如下图所示,校验者的安全系数很差,校验者们会收到很多的攻击被篡改等风险
在这里插入图片描述

从编程的角度看待智能合约

数字货币:只是区块链的应用

在程序员的角度来看:就是一个可以持续追踪系统内所有用户的一个账户和账户之间进行结算的一种共识系统。用户可以根据每一个应用程序之间的规则,通过在其之间进行一个数字货币的转换或者是交易,从而与公共共识系统相关的交互。
在这里插入图片描述

智能合约在区块链上运行的使用者定义程序

每一个智能合约就是每一个应用程序
在这里插入图片描述

数字货币:只是一种区块链的应用

在这里插入图片描述

例:在以太坊上注册域名

下方的函数的意思就是:检查域名是否被别人注册或者使用,然后将域名赋值给domain
在这里插入图片描述

合约对象其实是储存在区块链上的,他有一个注册表 registerDomain的函数;如果有一个人想要去注册一个“defi.io”的域名,他就会在合约中去唤醒这个registerDomain函数,并且将字符串中的“defi.io”输入到对应的函数种;然后任何在区块链网络中人人都可以去注册表中查询选择这个“defi.io”的拥有者。
在这里插入图片描述

例子:
在这里插入图片描述

合约之间的交互

使用者不仅仅会去唤醒合约的对象的一些函数功能;而且合约的代码也会去描述是如何发送合约的信息,如何去唤醒另一个合约的函数功能;常见的方式就是多账号多签名的方式,许多不同的使用者去控制合约对象所拥有的资产;如下图transferToken,每个人都有解开这个合约的权重,比方说有5个人每个人有20%的权重那么就需要2/3的人同意才能解开。
在这里插入图片描述

合约编程模型

合约类别: 定义合约的程序代码及存储变量

合约对象: 一个存在于区块链上的类别实例

存储字段: 由合约存储的变量

函数/方式: 可被唤醒来跑既定代码,更新合约状态

**访问控制:**使用“require0”来取消一些未被授权的交易。你也可用它来检视调用这个函数的调用者

组合: 在多个合约之间的交互

总结

本文从区块链交互性和编程角度探讨智能合约技术。跨链交互性方面,分析了资产在不同区块链生态间的转移需求,介绍了跨链协议和联邦链桥方案,并指出校验者机制的安全风险。编程视角下,阐述了智能合约作为区块链上用户定义程序的特点:1)数字货币作为基础应用,实现账户跟踪与结算;2)合约对象存储在链上,包含存储字段和可调用函数;3)支持合约间交互和多签名控制机制;4)包含访问控制和安全验证功能。通过域名注册等实例,展示了智能合约的实际应用场景和工作原理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2399591.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构(7)—— 二叉树(1)

目录 前言 一、 树概念及结构 1.1树的概念 1.2树的相关概念 1.3数的表示 1.二叉树表示 2.孩子兄弟表示法 3.动态数组存储 1.4树的实际应用 二、二叉树概念及结构 2.1概念 2.2特殊的二叉树 1.满二叉树 2. 完全二叉树 2.3二叉树的性质 2.4二叉树的存储结构 1.顺序存储 2.链式存储…

如何使用 Docker 部署grafana和loki收集vllm日志?

环境: Ubuntu20.04 grafana loki 3.4.1 问题描述: 如何使用 Docker 部署grafana和loki收集vllm日志? 解决方案: 1.创建一个名为 loki 的目录。将 loki 设为当前工作目录: mkdir loki cd loki2.将以下命令复制并粘贴到您的命令行中,以将 loki-local-config.yaml …

Kafka入门- 基础命令操作指南

基础命令 主题 参数含义–bootstrap-server连接的Broker主机名称以及端口号–topic操作的topic–create创建主题–delete删除主题–alter修改主题–list查看所有主题–describe查看主题的详细描述–partitions设置分区数–replication-factor设置分区副本–config更新系统默认…

目标检测我来惹1 R-CNN

目标检测算法: 识别图像中有哪些物体和位置 目标检测算法原理: 记住算法的识别流程、解决问题用到的关键技术 目标检测算法分类: 两阶段:先区域推荐ROI,再目标分类 region proposalCNN提取分类的目标检测框架 RC…

lua的笔记记录

类似python的eval和exec 可以伪装成其他格式的文件,比如.dll 希望在异常发生时,能够让其沉默,即异常捕获。而在 Lua 中实现异常捕获的话,需要使用函数 pcall,假设要执行一段 Lua 代码并捕获里面出现的所有错误&#xf…

智能进化论:AI必须跨越的四大认知鸿沟

1. 智能缺口:AI进化中的四大认知鸿沟 1.1 理解物理世界:从像素到因果的跨越 想象一个AI看着一杯倒下的水,它能描述“水滴形状”却无法预测“桌面会湿”。这正是当前AI的典型困境——缺乏对物理世界的因果理解。主流模型依赖海量图像或视频数…

传统足浴行业数字化转型:线上预约平台的技术架构与商业逻辑

上门按摩服务系统开发正成为行业新风口,这绝不是盲目跟风而是实实在在的市场趋势。随着现代人生活节奏加快,时间成本越来越高,传统到店消费模式已经无法满足消费者对便捷服务的需求。我们的团队深耕上门按摩系统开发领域五年,深刻…

从OCR到Document Parsing,AI时代的非结构化数据处理发生了什么改变?

智能文档处理:非结构化数据提出的挑战 在这个时代的每一天,无论是个人处理账单,还是企业处理合同、保险单、发票、报告或成堆的简历,我们都深陷在海量的非结构化数据之中。这类数据不像整齐排列的数据库表格那样规整,…

Inno Setup 安装向导各个页面详解

概览 表中描述了使用Inno Setup生成的安装包在安装过程中各个页面的字段和对应的说明信息。后文会对各个页面的参数做进一步解释说明。 字段说明wpWelcome欢迎页wpLicense许可协议wpPassword密码wpInfoBefore信息wpUserInfo用户信息wpSelectDir选择目标位置wpSelectComponent…

OPENCV重点结构体Mat的讲解

一、Opencv的作用 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C 类构成,同时提供了Pytho…

【趣味Html】第11课:动态闪烁发光粒子五角星

打造炫酷的动态闪烁发光粒子五角星效果 前言 在现代Web开发中,视觉效果的重要性不言而喻。今天我们将深入探讨如何使用HTML5 Canvas和JavaScript创建一个令人惊艳的动态闪烁发光粒子五角星效果。这个项目不仅展示了Canvas的强大功能,还涉及了粒子系统、…

CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构

中文标题: CFTel:一种基于云雾自动化的鲁棒且可扩展的远程机器人架构 英文标题: CFTel: A Practical Architecture for Robust and Scalable Telerobotics with Cloud-Fog Automation 作者信息 Thien Tran, Jonathan Kua, Minh Tran, Hongh…

Educational Codeforces Round 179 (Rated for Div. 2)

CF2111,简单手速场 A. Energy Crystals 贪心&#xff0c;每次最小值会乘2&#xff0c;直接模拟即可&#xff0c;复杂度 O ( log ⁡ n ) O(\log n) O(logn) void solve(){int x;cin>>x;multiset<int> s{0,0,0};int res0;while(*s.begin()<x){int x*s.begin();s…

完成一个可交互的k8s管理平台的页面开发

使用deepseek完成设计一个k8s管理平台&#xff0c;关键词如下&#xff1a; 完成一个可交互的k8s管理平台的页面开发Kubernetes 管理平台页面设计 下面是一个基于现代Web技术的可交互Kubernetes管理平台的页面设计方案&#xff0c;使用React作为前端框架&#xff0c;配合Ant De…

Windows系统工具:WinToolsPlus 之 SQL Server 日志清理

使用软件时提示数据库事务日志已满&#xff0c; 使用WinToolsPlus 数据库页签 先设置 数据源 &#xff0c; 选择 需要清理日志的数据库&#xff0c; 点击 数据库日志清理 即可。 下载地址&#xff1a; http://v.s3.sh.cn/archives/2279.html

在Windows11上安装 Ubuntu WSL

不想安装虚拟机,想在Windows11上运行Linux。网上虽有教程,但是图片明显都是老图,与Windows11还是有些差异。网上缺乏一个齐全的真正的Windows11运行Linux的教程。 一、在Windows上的设置 1. 在window11的搜索框内(所有你找不到的应用都可以用这个搜索功能)&#xff0c;搜索&q…

嵌入式Linux之RK3568

系统烧写镜像。 1、直接使用正点原子官方的updata.img(MIDP) 进入瑞芯微发开工具RKDevTool&#xff0c;选择升级固件&#xff0c;上传到固件&#xff0c;记住这里要进入maskrom模式或者是loader模式&#xff0c;进入该模式之后点击升级即可。 2、烧入自己制作的镜像(单独、一…

JavaScript性能优化实战技术

目录 性能优化核心原则 代码层面优化 加载优化策略 内存管理实践 及时解除事件监听 避免内存泄漏模式 渲染性能调优 使用requestAnimationFrame优化动画 批量DOM操作减少回流 性能监控工具 现代API应用 缓存策略实施 性能优化核心原则 减少资源加载时间 避免阻塞主…

网页前端开发(基础进阶3--Vue)

Vue3 Vue是一款用于构建用户界面的渐进式的JavaScript框架。 Vue由2部分组成&#xff1a;Vue核心包&#xff0c;Vue插件包 Vue核心包包含&#xff1a;声明式渲染&#xff0c;组件系统。 Vue插件包&#xff1a;VueRouter&#xff08;客户端路由&#xff09;&#xff0c;Vuex…

tryhackme——Abusing Windows Internals(进程注入)

文章目录 一、Abusing Processes二、进程镂空三、线程劫持四、DLL注入五、Memory Execution Alternatives 一、Abusing Processes 操作系统上运行的应用程序可以包含一个或多个进程&#xff0c;进程表示正在执行的程序。进程包含许多其他子组件&#xff0c;并且直接与内存或虚…