从零开始Python区块链搭建(一)

三分钟区块链笔记#

区块链搭建(一)

环境:Python

前言

0

这篇文章是我根据b站搜到的教学视频,总结出来自己的第一篇关于如何用Python搭建区块链的笔记,是我从理论向实践迈出的重要一步吧。目前这篇文章并没有涉及区块链的所有内容,并且仅涉及到在本地软件中一些类区块链功能的实现。不过这些功能的实现,是为以后真正搭建出自己的区块链而作的准备~

本篇文章涉及的内容,均来自b站up主AsianWhale上传的视频**《[教程向]手把手Python搭建区块链》****,BV号为BV1Hb411c7oH。**感兴趣的小伙伴可以去学习哦!

本篇文章的代码非原创,均来自上述视频中的内容。

本来是向做“三分钟Fintech笔记”的,但是篇幅确实写得有点长了······下次会注意的!orz

菜单

1

在进行区块链搭建之前,首先我们先要列出本篇文章所需要实现的区块链功能,分别是:

(1)创建一个交易

(2)挖一个区块

(3)查看区块链中的所有区块

(4)查看区块链中所有的参与者

(5)验证交易有效性

(6)验证区块链的有效性

菜菜认为先从宏观的层面把握,要比一个一个函数开始看起会更好一些,我们首先给出本地命令的菜单,这个菜单涉及了这篇文章涉及到的所有要实现的区块链功能,我们可以通过输入:1、2、3···的指令来选择我们要进行的操作,代码如下:

(秀米排版代码制表符有问题,请尽量不要直接复制粘贴,否则会报错invalid character in identifier)


while waiting_for_input:
    print('Please choose')
    print('1: Add a new transaction value')
    print('2: Mine a new block')
    print('3: Output the blockchain blocks')
    print('4: Output participants')
    print('5: Check transaction validity')
    print('h: Manipulate the chain')  # Manipulate 篡改
    print('q: Quit')
    get_user_choice = input('Please choose your act:')
    user_choice = get_user_choice
    if user_choice == '1':
        pass
    elif user_choice == '2':
        pass
    elif user_choice == '3':
        pass
    elif user_choice == '4':
        pass
    elif user_choice == '5':
        pass
    elif user_choice == 'h':
        pass
    elif user_choice == 'q':
        print('User left!')
        break

定义函数

2

一、创建一个交易

首先,我们知道一个最简单的交易包含了付款方、收款方和交易金额。此处我们暂时只考虑这三个变量,分别将其定义为sender、recipient、amount,于是:

注意最后几行的if语句,是对第一部分提到的菜单条件语句的修改,无法单独运行,后面同理。

# 定义全局变量
open_transaction = []
owner = 'Passer'
participants = {'Passer'} # 名字可以自定义

def get_transaction_value():
    ''' Return the input of recipient and amount '''
    tx_recipient = input('Enter the recipient of the transaction:')
    tx_amount = float(input('Your transaction amount please:'))
    return tx_recipient, tx_amount

def add_transaction(recipient, sender=owner, amount=1.0):
    ''' Append a new transaction to the list of open_transaction'''
    transaction = {
        'sender':sender,
        'recipient':recipient,
        'amount':amount
    }
    open_transaction.append(transaction)
    participants.add(sender)
    participants.add(recipient)
    ret
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip 基于区块链的图片版权保护系统python源码(修改可应用于其他数字资产保护).zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值