用smartpy 写tezos智能合约

2024-06-07 12:58
文章标签 智能 合约 smartpy tezos

本文主要是介绍用smartpy 写tezos智能合约,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虽然早年tezos经常是给人喷没必要,以及如今又被骂drama queen。然而这货带领本三脚猫了解起了区块链智能合约。

本来想基本去掌握下liquidity然而发生了OCaml大佬甩锅的事情,liquidity在他们repo里面妥妥把tezos换成了dune,本人也就放弃了。

转而用上了smartPy。现阶段这货只能在smartpy.io上混web-based IDE editor。本地还没有办法配置(不像Liquidity其实已经做到了)。相信用原始的Michelson是可以做到本地的,但是对于这门相对低阶的语言,本人实在没这水平去费神掌握好...

其实网上好的教材,目前这个时点真的不多(嗯,对,我说的是免费的。花钱的一般我也不会干的...)。

接下来是对于地址注册这个程序,找到的教程上就给一半解释,我把测试部分填好,于是就可以拿着跑通他了。

 

import smartpy as sp  #支持tezos,目前应该还是开发早期,文档都不够傻瓜,要靠悟...class NameRegistry(sp.Contract):def __init__(self):self.init(addressToName = sp.Map()) #初始化一个key——value字典,本人把这些都叫字典 @sp.entryPoint  #允许传合同参数的标记def register(self, params):sp.setType(params.name, str)self.data.addressToName[sp.sender] = params.name@addTest(name = "Advanced Test")
def test():# Create HTML output for debugginghtml = h1("Name Registry")firstOwner = sp.address("firstOwner-address-1234")# Instantiate NameRegistry contractc1 = NameRegistry()c1.register(name = "ledger_ledger").run(sender = firstOwner) #sender就是这个合同的地址了,这个合同给他起名叫:ledger_ledgerhtml += c1.fullHtml()setOutput(html)#目前只能跑在smartPy.io的网站上哦。

 

线上效果:

备忘一下:转为michelson后本地部署教程中的Event Planner:

#: ./tezos-client originate contract mii for moneyPool transferring 1 from moneyPool running ~/mii.tz --init '(Pair {} "KT1HWk1LNaUvGpFxk2vCs4ZbA3gFnbMDnRkk")' --burn-cap 1.5

 

这篇关于用smartpy 写tezos智能合约的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039239

相关文章

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

Python实现word文档内容智能提取以及合成

《Python实现word文档内容智能提取以及合成》这篇文章主要为大家详细介绍了如何使用Python实现从10个左右的docx文档中抽取内容,再调整语言风格后生成新的文档,感兴趣的小伙伴可以了解一下... 目录核心思路技术路径实现步骤阶段一:准备工作阶段二:内容提取 (python 脚本)阶段三:语言风格调

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

智能交通(二)——Spinger特刊推荐

特刊征稿 01  期刊名称: Autonomous Intelligent Systems  特刊名称: Understanding the Policy Shift  with the Digital Twins in Smart  Transportation and Mobility 截止时间: 开放提交:2024年1月20日 提交截止日

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景