Tag: 教程

  • python实现简单的智能合约示例

    python实现简单的智能合约示例

    区块链技术正在以惊人的速度发展,而智能合约是这一领域的重要组成部分之一。智能合约是自动执行的计算机程序,它们运行在区块链上,可以管理和执行合同中的条件。这些合约具有不可篡改性,使得交易更加透明和安全。

    在本教程中,我们将介绍如何使用Web3.py库与区块链互动,以及如何编写一个简单的智能合约。我们将从连接到区块链网络开始,定义智能合约的ABI和地址,然后通过示例展示如何提交投票和查询投票结果。让我们开始吧!

    步骤1:连接到区块链网络

    首先,我们需要使用Web3.py库连接到区块链网络。Web3.py是一个Python库,用于与以太坊和其他以太坊兼容的区块链网络进行交互。

    # 导入所需模块
    from web3 import Web3
    
    # 连接到区块链网络
    w3 = Web3(Web3.HTTPProvider('http://localhost:8545'))

    在上述代码中,我们导入了Web3库,并使用HTTPProvider连接到本地的以太坊节点。您可以根据实际情况更改节点的URL。

    步骤2:定义智能合约的ABI和地址

    在与区块链网络建立连接后,我们需要定义智能合约的ABI(接口说明)和地址。ABI描述了合约的方法和参数,而地址是合约在区块链上的位置。

    # 定义智能合约的ABI(接口说明)和地址
    contract_abi = [...]
    contract_address = '0x...'

    请注意,这里的contract_abi和contract_address应该根据您的实际智能合约进行设置。

    步骤3:初始化智能合约对象

    接下来,我们将使用定义的ABI和地址来初始化智能合约对象。

    # 初始化智能合约对象
    contract = w3.eth.contract(address=contract_address, abi=contract_abi)

    现在,我们已经准备好与智能合约进行交互了。

    示例:提交投票和查询投票结果

    以下是一个示例,演示如何使用Web3.py库提交投票和查询投票结果。假设我们有一个简单的智能合约,其中包含一个投票函数和一个查询投票结果的函数。

    # 提交投票
    vote_txn = contract.functions.vote(b'candidate1').transact()
    w3.eth.waitForTransactionReceipt(vote_txn)
    
    # 查询投票结果
    result = contract.functions.get_vote_result().call()
    print(result)

    在上述示例中,我们使用了vote函数提交了一张选票,然后使用get_vote_result函数查询了投票结果。请注意,这只是一个简单的示例,实际的智能合约可能会更复杂。

    结论

    本教程介绍了如何使用Web3.py库与区块链互动,以及如何编写一个简单的智能合约。通过连接到区块链网络,定义智能合约的ABI和地址,您可以轻松地与智能合约进行交互,并执行各种操作。在实际应用中,智能合约可以用于创建各种去中心化应用程序,从而实现更多有趣的功能。

  • 什么是NFT-NFT入门教程01

    什么是NFT-NFT入门教程01

    在数字时代,我们经常听说NFT(非同质化令牌),但你是否真正理解它们的本质和影响?NFT是一种存储在区块链上的数字项目,它们代表着不可替代的独特性,并且具有无可争议的数字所有权。本教程将深入探讨NFT的工作原理、应用领域以及如何购买和销售NFT。

    不可替代性与可替代性

    在我们深入了解NFT之前,让我们明确一下什么是不可替代性。当一样物品是可替代的时,它可以与另一样相同的物品互换,就像一张1美元纸币可以与另一张1美元纸币交换一样。但不可替代性意味着物品是完全独特的,具有自己独特的价值。例如,两辆相同品牌型号的汽车可能因其里程数、事故记录或先前是否曾被名人拥有而具有不同的价值。

    NFTs是如何工作的?

    NFTs基于区块链技术运作。区块链是一个去中心化的数字公共记录,分布在许多节点上。当某人创建、转移、购买、出售或以其他方式操作NFT时,所有这些都会被记录在区块链上。这确保了真实性和数字所有权的可证明性,并且记录是永久的,可以被任何人查看或访问。以前,购买艺术品或收藏品通常附带一张真品证书,但这种方式容易丢失或损坏,区块链提供了更安全的解决方案。

    举个例子,假设您购买了一幅Tyler Hobbs的艺术品。使用NFTs,您可以查看该作品的整个历史,包括所有过去的所有者、每次销售,一直回溯到Hobbs原始创作的作品。这为消费者提供了更多的信任和保障,防止购买赝品。

    NFT技术的影响

    NFT技术对数字商品具有革命性的影响。对于创作者来说,NFTs提供了一种在区块链市场上销售独特和认证的物品的新方式,而且他们可以在每次二次销售中获得创作收益。这使得创作者能够更容易地货币化他们的作品,而不必依赖传统平台。

    对于收藏家来说,NFT技术也是革命性的。NFTs提供了可证明的真实性和所有权,使收藏家能够更加放心地购买数字资产,而不必担心赝品或欺诈。

    NFTs用于什么?

    NFTs可以代表几乎任何东西,以下是一些NFTs目前被用于的方式以及未来的潜在应用:

    艺术

    艺术家们正在使用NFTs创作独特的数字艺术品,例如Damien Hirst的“货币”收藏,其中包括10,000幅独特的数字版画。

    个人资料图片(PFPs)

    个人资料图片项目如Bored Ape Yacht Club(BAYC)、Doodles、World of Women(WoW)等,已成为许多互联网用户的在线身份的一部分。

    收藏品

    NFTs赋予传统收藏品更多的功能,如NBA“协会”系列中的动态NFTs,每张卡片都根据球员和球队的表现而变化。

    域名

    命名标准如以太坊命名服务(ENS)和Bonfida(Solana的等效命名服务)使区块链更易于使用,提供可读的人类名称和内置验证。

    门票和会员资格

    品牌如Cameo和Coachella已经开始使用NFTs实现独家门票和通行证,为持有者提供额外的权益和福利。

    游戏

    NFTs在游戏领域具有巨大潜力,可以用于购买、交换游戏内物品,并且具有实用性、所有权和互操作性。

    虚拟世界

    基于区块链的元世界项目,如Otherside、Decentraland、The Sandbox,允许用户建立数字体验和开放经济,同时维护自己的主权和所有权。

    未来应用

    区块链的新应用不断涌现,包括身份验证、知识产权、存储解决方案等。

    如何买卖NFTs

    随着NFT的普及,许多市场已经涌现,满足了购买和销售这些数字资产的需求。最大的NFT市场之一是OpenSea,它支持多种区块链,并拥有数百万个NFT。不同市场有不同的特点,您可以根据自己的需求选择适合您的市场。

    问答

    我不能右键单击并保存或截屏NFT吗?

    当然可以保存或截屏NFT,但这并不意味着您拥有它们。NFTs的真实价值在于其数字所有权,拍摄或截屏只是复制了图像,但不具备真正的所有权。

    NFTs对环境有害吗?

    NFTs的能源消耗因区块链而异,不同区块链有不同的能源密集性。一些区块链已经采取了措施降低能源消耗,因此并非所有NFTs都对环境有害。

    创建NFT是否需要技术或编码技能?

    创建NFT不需要技术或编码技能。有许多工具可用于创建NFT,甚至可以在市场上直接创建。当然,如果您有技术背景,您可以更深入地定制NFT。

    结论

    NFT技术正在改变数字世界的方式,为创作者和收藏家提供了新的机会和可能性。通过了解NFT的工作原理和应用领域,您可以更好地利用这一数字革命,无论是作为创作者还是消费者。

  • 区块链相关疑问解析

    区块链相关疑问解析

    在当今数字化时代,区块链技术已经成为一个备受瞩目的话题。无论是在金融领域、供应链管理、医疗保健,还是其他行业,区块链都展现出了巨大的潜力。本教程将带您深入了解区块链技术的基本概念、工作原理以及如何开始使用它。无论您是新手还是有一定经验,都能从本教程中获益匪浅。

    什么是区块链?

    区块链是一种去中心化的分布式账本技术,它以区块的方式存储数据,并使用加密技术保护数据的完整性和安全性。区块链的核心概念包括以下几个方面:

    1. 分布式账本

    区块链是一个分布式账本,意味着数据不存储在单一的中央服务器上,而是分散存储在网络的多个节点上。这种去中心化的结构使得数据更加安全,不容易被篡改。

    2. 区块

    区块是区块链中的基本单位,每个区块包含了一定数量的交易数据。这些交易数据被打包成一个区块,并通过加密链接到前一个区块,形成了一个链条。

    3. 加密技术

    区块链使用加密技术来保护数据的安全性。每个区块都包含一个加密哈希值,用于验证区块的完整性。只有在网络上的多数节点达成一致时,新的区块才会被添加到链条上。

    区块链的工作原理

    了解区块链的工作原理是掌握这一技术的关键。下面是区块链的基本工作流程:

    1. 交易生成:当用户发起一笔交易时,该交易被广播到区块链网络中的节点。

    2. 交易验证:网络中的节点会验证交易的合法性,包括检查交易是否有效,发送者是否有足够的资金等。

    3. 交易打包:经过验证的交易被打包成一个新的区块。这个区块包含了多个交易,通常是上一个区块的哈希值。

    4. 工作量证明:为了增加新区块到区块链,节点需要解决一个数学难题,这需要大量的计算能力。这个过程被称为工作量证明(Proof of Work)。

    5. 区块添加:一旦有足够的节点完成了工作量证明,新区块就会被添加到区块链上,并广播到整个网络。

    6. 共识达成:网络中的节点需要达成共识,确保新区块的添加是有效的,这通常需要一定的时间。

    7. 链的延伸:新区块成功添加后,区块链得以延伸,形成新的区块。

    如何开始使用区块链

    如果您想开始使用区块链技术,以下是一些关键步骤:

    1. 学习基础知识:首先,了解区块链的基本概念和工作原理。可以通过在线教程、课程或书籍来学习。

    2. 选择合适的平台:选择一个适合您需求的区块链平台。目前,最流行的区块链平台包括比特币、以太坊和波卡等。

    3. 创建钱包:为了存储和管理加密货币,您需要创建一个数字钱包。这个钱包可以是软件钱包、硬件钱包或在线钱包。

    4. 购买加密货币:一旦有了钱包,您可以通过交易所购买加密货币,如比特币或以太坊。

    5. 安全存储:确保您的数字钱包和私钥安全存储,以防止丢失或被盗。

    6. 参与交易:现在您可以开始参与区块链网络的交易,包括发送和接收加密货币,参与智能合约等。

    结语

    区块链技术是一个令人兴奋且不断发展的领域,它有着广泛的应用前景。通过学习区块链的基本概念和工作原理,您可以更好地理解这一技术,并开始在数字经济中发挥作用。不论您是初学者还是有经验的用户,区块链都将在未来的科技世界中扮演重要的角色。

  • MetaMask钱包注册教程

    MetaMask钱包注册教程

    在加密货币世界中,拥有一个安全的钱包是至关重要的,而去中心化钱包具有独特的优势,因为你拥有完全控制权,包括私钥的安全。本文将介绍MetaMask,它是一个著名的以太坊去中心化加密货币钱包,可用于存储、发送、接收加密货币,收藏NFT,以及与去中心化应用程序(DApps)互动。让我们开始快速入门MetaMask,只需3分钟!

    MetaMask小狐狸钱包是什么?

    MetaMask是一个去中心化的以太坊加密货币钱包,它可以安装为浏览器插件或移动应用程序。由于它的标志象征着一只小狐狸,因此它也被称为“小狐狸钱包”。MetaMask的主要功能包括储存、接受、发送加密货币,以及与DApps互动。它还支持NFT收藏,以及访问去中心化交易所(DEX)和DeFi项目。总之,MetaMask的特点包括:

    • 广泛使用的以太坊加密货币钱包
    • 去中心化,用户拥有私钥
    • 收藏NFT
    • 方便的存取、发送和交换加密货币
    • 与区块链应用程序互动

    狐狸钱包与交易所钱包的区别

    了解MetaMask的重要性之前,让我们简单比较一下去中心化钱包与交易所钱包的区别:

    • 交易所钱包:你只拥有钱包的“使用权”,私钥由交易所保管。
    • 小狐狸钱包:你同时拥有钱包的“使用权”和“私钥”,私钥由你自己保管。

    把加密货币放在交易所就像把钱存在银行,尽管有一定的安全措施,但存在骇客攻击和内部不端行为的风险。将加密货币放在MetaMask中则类似于在一个有密码锁的皮夹或包包中存放,只有你知道密码才能访问。但要注意,如果丢失密码或私钥,将无法恢复钱包。

    MetaMask钱包注册教程

    现在,让我们进入MetaMask钱包的注册教程,只需几个简单的步骤:

    步骤1:添加MetaMask插件

    首先,点击以下链接,前往Chrome Web Store,然后点击“加到Chrome”按钮,将MetaMask安装到你的浏览器中。

    点此安装MetaMask插件

    添加MetaMask插件

    步骤2:开始使用狐狸钱包

    打开浏览器右上角的拼图图标,然后打开MetaMask页面,点击“开始使用”。

    开始使用MetaMask

    步骤3:创建钱包

    由于我们是第一次申请MetaMask,选择右侧的“创建钱包”。

    创建钱包

    步骤4:使用者规范及隐私政策

    MetaMask将展示使用规范和隐私政策,你可以选择同意或拒绝。不管你选择什么,都可以继续注册钱包。

    使用者规范及隐私政策

    步骤5:建立密码

    输入MetaMask的钱包密码(至少8个字符),然后按“建立”。

    建立密码

    步骤6:MetaMask钱包助忆词说明

    接下来,MetaMask将解释钱包的助忆词(助记词)及其用途。你可以选择查看中文说明。

    [原文图片缺失:MetaMask钱包助忆词说明]

    现在,你可以开始使用MetaMask来存储、发送和接收加密货币,与DApps互动,甚至收藏NFT。请务必保管好你的私钥和助忆词,以确保你的资产安全。

    结语

    MetaMask是一个功能强大且易于使用的去中心化加密货币钱包,对于进入加密货币世界的新手来说是一个不可或缺的工具。希望这个快速入门教程对你有所帮助,让你能够轻松开始使用MetaMask,安全地管理你的加密资产。

    注意:加密货币投资涉及风险,请谨慎投资,不要投入超出承受能力的资金。

  • 用python实现简单的区块链

    用python实现简单的区块链

    区块链技术已经成为当今数字领域的热门话题,它的应用范围从加密货币到供应链管理等各个领域。了解区块链的基本概念是掌握这一新兴技术的第一步。在本教程中,我们将使用Python来创建一个简单的区块链,以帮助你理解区块链是如何工作的。让我们开始吧!

    步骤1:创建区块类

    首先,我们需要创建一个区块类(Block class),它将存储每个区块的信息。一个区块通常包含以下几个属性:

    • 时间戳(timestamp):表示区块创建的时间。
    • 数据(data):区块存储的任何信息,例如交易数据。
    • 前一个区块的哈希值(previous_hash):前一个区块的哈希值,用于连接各个区块。
    • 当前区块的哈希值(hash):当前区块的哈希值,用于验证区块的完整性。

    下面是一个示例区块类的代码:

    import hashlib
    import time
    
    class Block:
        def __init__(self, timestamp, data, previous_hash):
            self.timestamp = timestamp
            self.data = data
            self.previous_hash = previous_hash
            self.hash = self.calc_hash()
    
        def calc_hash(self):
            sha = hashlib.sha256()
            hash_str = f"{self.timestamp}{self.data}{self.previous_hash}".encode('utf-8')
            sha.update(hash_str)
            return sha.hexdigest()

    在这个类中,我们使用了Python的hashlib库来进行SHA-256哈希计算。calc_hash()函数接受时间戳、数据和前一个区块的哈希值作为输入,然后返回当前区块的哈希值。

    步骤2:创建区块链类

    接下来,我们需要创建一个区块链类(Blockchain class),它将管理所有区块。一个简单的区块链通常包含以下几个操作:

    • 创建创世块(Genesis Block):区块链的第一个区块,通常没有前一个区块。
    • 添加新区块:将新的区块添加到区块链中。
    • 验证区块:验证区块链中的每个区块,确保其哈希值正确连接。

    下面是一个示例区块链类的代码:

    class Blockchain:
        def __init__(self):
            self.chain = [self.create_genesis_block()]
    
        def create_genesis_block(self):
            return Block("2023-01-01", "Genesis Block", "0")
    
        def add_block(self, data):
            previous_block = self.chain[-1]
            block = Block(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()), data, previous_block.hash)
            self.chain.append(block)
    
        def is_valid_chain(self):
            for i in range(1, len(self.chain)):
                current_block = self.chain[i]
                previous_block = self.chain[i - 1]
    
                if current_block.hash != current_block.calc_hash():
                    return False
    
                if current_block.previous_hash != previous_block.hash:
                    return False
    
            return True

    在这个类中,我们使用create_genesis_block()函数来创建创世块,并使用add_block()函数来添加新的区块。is_valid_chain()函数用于验证整个区块链的完整性,确保每个区块的哈希值和前一个区块的哈希值正确连接。

    步骤3:创建区块链实例并添加区块

    现在,我们可以创建一个区块链实例,并向其中添加一些区块。以下是示例代码:

    bc = Blockchain()
    bc.add_block("Transaction 1")
    bc.add_block("Transaction 2")

    在这里,我们首先创建了一个Blockchain实例bc,然后使用add_block()函数添加了两个区块,分别包含了交易数据。

    验证区块链完整性

    要验证区块链的完整性,我们可以调用is_valid_chain()函数。以下是示例代码:

    if bc.is_valid_chain():
        print("Blockchain is valid.")
    else:
        print("Blockchain is not valid.")

    这段代码将检查区块链是否有效,如果有效,将输出”Blockchain is valid.”,否则输出”Blockchain is not valid.”。

    总结

    通过这个简单的区块链示例,你现在应该了解了区块和区块链的基本概念,以及如何使用Python来实现它们。区块链是一个广泛应用于各个领域的强大技术,掌握它将有助于你在数字世界中更深入地理解和应用。

  • 一文读懂什么是元宇宙

    一文读懂什么是元宇宙

    什么是元宇宙?

    元宇宙的英文是Metaverse,由Meta和Verse组成,Meta表示“超越”、“改变”或者“元”,verse代表宇宙(universe),合起来通常表示“超越宇宙”。除了元宇宙外,过去有的地方也翻译为“元界”、“超元域”或“超感空间”等。

    1992年,美国著名科幻作家尼尔・斯蒂芬森(Neal Stephenson)推出了自己的小说《雪崩(Snow Crash)》元宇宙概念起源于科幻小说。著名的美国科幻小说家尼尔·斯蒂文森(Neal Stephenson)1992年出版了具有反乌托邦色彩的小说《雪崩》(Snow Crash)。书中描述了人们在一个脱胎于现实且“始终在线”的平行世界中,以虚拟化身(Avatar)的形式自由生活。这个虚拟世界就是元宇宙(Metaverse),所有现实世界中的人在元宇宙中都有一个虚拟化身。戴上耳机和视觉装置,连接上计算机,就能够用虚拟身份进入到一个和真实世界平行的新宇宙。斯蒂文森笔下的元宇宙可谓是实现虚拟现实后的下一个阶段的互联网的新形态。

    《雪崩》提出了元宇宙的雏形,斯蒂文森被公认为是元宇宙的正式提出者。 现阶段,“元宇宙”尚无严谨定义。一千个人眼中有一千个哈姆雷特。

    扎克伯格将元宇宙形容为“一个实体化的网络”,“你可以进入的虚拟环境”,“在这里,你不仅可以查看内容,还可以置身其中”。简言之,“元宇宙”就像一个由无数虚拟社区组成的世界,人们可通过虚拟现实装置、手机App,进行互动、娱乐或工作。

    英伟达(NVIDIA)CEO黄仁勋则如此形容:“在这里,你可以和朋友厮混,那会是个3D的世界……,在这里,我们(甚至)可以实现时光旅行,或是以光速前往遥远之地。”

    英伟达模拟技术部门副总裁Rev Lebaredian解释说,元宇宙将会是一个不被任何应用程序或任何地方(不管是数字或实体)给绑住的平台。最终我们所谈论的是创造另一个现实、另一个世界,它和现实世界一样绚烂美丽、缤纷多姿。

    腾讯CEO马化腾认为元宇宙是“全真互联网”。他于2020年底在公司内部刊物《三观》中提到:“现在,一个令人兴奋的机会正在到来,移动互联网十年发展,即将迎来下一波升级,我们称之为“全真互联网”,……虚拟世界和真实世界的大门已然打开,无论是从虚到实,还是由实入虚,都在致力于帮助用户实现更真实的体验。”

    百度副总裁马杰认为:“目前,蹭元宇宙概念的公司多,而且真假难辨。虽然几乎所有人都确定,元宇宙将是未来,但究竟何为元宇宙,人们尚未达成共识。”

    Roblox的联合创始人及CEO David Baszucki曾表述,“元宇宙”就是一个人们可以花大量时间工作、娱乐和学习的虚拟空间。

    市场研究机构eMarketer分析师佩特罗克(Victoria Petrock)认为,若“元宇宙”成真,“你在虚拟世界中的生活方式,就会和你在现实生活中一样。”

    硅谷一知名元宇宙投资人认为,“元宇宙是互联网的一个准后继者,在这里,每个人,每个公司都可以存在、工作、社交、交易和创造”。

    那么,到底如何定义元宇宙呢? 简言之,元宇宙是平行于现实世界的全真数字虚拟3D空间。 一般认为,元宇宙的内涵是吸纳了信息革命(5G/6G)、互联网革命(web3.0)、人工智能革命,以及VR、AR、MR,特别是游戏引擎在内的虚拟现实技术革命的成果,向人类展现出构建与传统物理世界平行的全息数字世界的可能性。

    元宇宙的特征

    Roblox提出了通向“元宇宙”的8个关键特征,即身份、朋友、沉浸感、低延迟、多样性、随地、经济、文明。其中,文明是最终发展方向。

    1. Identity身份:可以建构有别于现实世界的虚拟化身形象
    2. Friends朋友:用户之间可以互相交朋友,提供社交性
    3. Immersive沉浸感:在元宇宙也要保持现实感知
    4. Low Friction低延迟:在元宇宙中传送的速度必须快
    5. Anywhere随地:超越空间限制、地理限制
    6. Variety多样性:差异化的内容,让用户可以到处探索
    7. Economy经济系统:数字资产可以在虚拟与真实世界中转换
    8. Civility文明:发展出虚拟世界独特的文明

    扎克伯格提出元宇宙的八大要素:

    1. 身临其境感(Feeling of Presence);
    2. 虚拟形象(Avatar);
    3. 家庭空间(Home Space);
    4. 远距离传输(Teleporting);
    5. 互操作性(Interoperability);
    6. 隐私安全(Privacy and Safety);
    7. 虚拟物品(Virtual Goods);
    8. 自然界面(Natural interfaces)

    由于元宇宙目前还没有形成统一的定义,对其属性自然有不同的解读。但总的来看,元宇宙基本上具有这些基本特征:

    1. 极高的用户体验。包括VR/AR沉浸式体验、超高保真度、海量内容等,摆脱了物理意义的时空观。
    2. 创造。元宇宙将用户从体验者转变为生产者,生产者、创造者和消费者在同一平台,赋予了阿凡达社会性和社会价值。
    3. 社交网络。用户社区内构成强关联,从而形成了真正的虚拟社区。
    4. 经济系统。数字资产价值的体现,完整的数字经济体系。
    5. 文明形态。元宇宙中有完整的数字社会运转规则,高级阶段具有发展成文明形态的可能。

    元宇宙的特性决定了互联网将产生颠覆性变革,将重塑未来时代互联网价值。元宇宙体现去中心化的特点,拥有内容创作者驱动的商业模式。传统互联网以消费者驱动的商业模式下,主要以用户规模等数据作为估值的核心指标,但用户规模与时长逐渐触顶。移动互联网时代红利早已尽失,拉新增长疲软。元宇宙以内容创作者为核心的商业模式,造就真实世界镜像的数字孪生场景,将会打破当前移动互联网用户规模和时长的天花板。

  • Docker:一键部署青龙

    Docker:一键部署青龙

    在如今的数字时代,许多人喜欢使用京东脚本来自动化京东购物和领取京豆等任务。然而,管理这些脚本可能会变得繁琐,因此我们需要一种简单且高效的方式来管理它们。Docker是一种流行的容器化技术,它可以帮助我们轻松部署和管理京东脚本。本教程将向你展示如何在Ubuntu Server上使用Docker一键部署青龙,这是一个优秀的京东脚本管理器。

    部署环境

    在开始之前,我们需要准备好部署环境。本教程基于以下环境:

    1. 操作系统: Ubuntu Server 22.04 LTS版本。
    2. Docker管理面板: 我们将使用BT面板(宝塔面板)来管理Docker容器。

    确保你已经在Ubuntu Server上安装了Docker并配置好BT面板。如果你尚未完成这些步骤,请确保先完成它们。

    安装命令

    现在,我们将通过以下命令来一键部署青龙:

    docker run -d -v /tmp/ql:/ql/data -p 5700:5700 --name qinglong --hostname qinglong --restart unless-stopped whyour/qinglong:2.13.3

    让我们逐步解释这个命令的各个部分:

    • docker run: 这是Docker容器运行的命令。
    • -d: 表示以后台(守护进程)模式运行容器。
    • -v /tmp/ql:/ql/data: 这部分命令用于将宿主机的/tmp/ql目录挂载到容器内的/ql/data目录。这是为了在容器内持久化保存青龙的数据。
    • -p 5700:5700: 这部分命令将宿主机的5700端口映射到容器内的5700端口,以便我们可以通过宿主机访问青龙的Web界面。
    • --name qinglong: 这是容器的名称,你可以根据需要自定义。
    • --hostname qinglong: 这是容器的主机名,也可以根据需要自定义。
    • --restart unless-stopped: 这部分命令指定了容器在退出时应该自动重新启动,除非明确停止容器。

    执行这个命令后,Docker将从Docker Hub下载青龙的镜像,并在你的Ubuntu Server上创建并启动一个名为qinglong的容器。接下来,你可以通过宿主机的IP地址和端口5700来访问青龙的Web界面,以进行进一步的配置和管理。

    后续升级

    如果你想升级青龙版本,可以按照以下步骤进行:

    1. 在BT面板中找到并删除名为qinglong的容器。

    2. 使用上述安装命令重新创建一个新的qinglong容器。确保在命令中指定新的青龙版本号。

    这样,你就可以轻松升级青龙到最新版本,并继续享受其强大的京东脚本管理功能。

    结束语

    通过使用Docker和一键部署命令,我们可以在Ubuntu Server上轻松地管理京东脚本。这不仅提高了脚本管理的效率,还可以让你更方便地进行配置和升级。无论是个人用户还是企业,都可以受益于这种简单而强大的解决方案。

    如果你有更多关于Docker、青龙或京东脚本的问题,欢迎随时咨询或查阅相关文档,以便更好地理解和应用这些技术。

  • 谈谈怎么用Google BBR,QUIC加速浏览器访问

    谈谈怎么用Google BBR,QUIC加速浏览器访问

    在今天的网络世界中,快速的网络访问对于我们的生活和工作至关重要。但是,有时候网络速度可能受到拥塞的影响,导致网页加载缓慢或视频卡顿。幸运的是,有一些技术可以帮助我们加速浏览器访问,其中包括Google BBR和QUIC。在本教程中,我们将学习如何使用这些技术来提高浏览器的网络访问速度。

    故事开篇

    假设你是一个充满热情的自由职业者,专注于音乐和技术。你的工作和生活都是远程的,因此稳定和快速的网络连接对你来说至关重要。有一天,你发现你的浏览器访问速度变得很慢,这严重影响了你的工作和娱乐体验。你开始寻找解决方案,最终找到了Google BBR和QUIC这两个技术。通过学习如何使用它们,你成功地提高了浏览器的网络访问速度,工作和生活变得更加高效和愉快。

    Google BBR和QUIC简介

    在深入讨论如何使用Google BBR和QUIC加速浏览器访问之前,让我们先了解一下这两个技术的基本概念。

    TCP网络拥塞

    在网络传输过程中,可能会出现网络拥塞的情况。网络拥塞是指在某段时间内,网络中某一资源的需求超过了该资源所能提供的可用部分,从而导致网络性能下降。简而言之,就是网络变得非常拥挤,导致数据传输变慢。

    Google BBR

    Google BBR,全名Google BBR拥塞控制算法,是一种用于控制网络拥塞的算法。它被设计成能够在网络拥塞的情况下提供更好的性能,确保数据传输更加高效和稳定。虽然我们不需要深入了解它的工作原理,但知道它可以帮助我们应对网络拥塞是很重要的。

    QUIC

    QUIC(Quick UDP Internet Connection)是谷歌推出的一套基于UDP的传输协议。它结合了TCP、HTTPS和HTTP/2的功能,旨在提供可靠性的同时降低网络延迟。QUIC的优势在于它能够在一次往返时间内建立HTTPS连接,同时改进了拥塞控制,这使得它在加速浏览器访问方面非常有用。

    加速浏览器的网络访问

    现在,让我们来看看如何使用Google BBR和QUIC来加速浏览器的网络访问。

    步骤1:检查浏览器支持QUIC

    首先,我们需要确保我们的浏览器支持QUIC协议。幸运的是,大多数基于Chromium内核的浏览器都支持QUIC。以下是检查和启用QUIC的步骤:

    1. 打开你的浏览器,并在地址栏中输入以下网址:chrome://flags/#enable-quic

    2. 在页面中找到 “Experimental QUIC protocol” 选项,并将其设置为 “Enable”。

    3. 重新启动你的浏览器,确保更改生效。

    现在,你的浏览器已经启用了QUIC协议,这将有助于加速网络访问。

    步骤2:开启BBR加速

    另一个可以加速浏览器访问的技术是开启BBR拥塞控制算法。以下是在OpenWRT路由器上开启BBR加速的简单步骤:

    1. 登录到你的OpenWRT路由器的管理界面。

    2. 导航到 “网络” -> “网络加速”。

    3. 在网络加速设置中,找到包含 “BBR” 关键词的选项,通常是 “BBR 拥塞控制算法”。

    4. 选中该选项,并保存更改。

    现在,你的OpenWRT路由器已经启用了BBR加速,这将进一步提高浏览器的网络访问速度。

    总结

    通过使用Google BBR和QUIC这两项技术,你可以显著提高浏览器的网络访问速度,确保更快速的网页加载和流畅的在线体验。这对于一个自由职业者来说,意味着更高效的工作和更愉快的生活。

    无论你是在远程工作还是欣赏音乐,快速的网络连接都是不可或缺的。现在,你已经学会了如何使用Google BBR和QUIC来实现这一目标,让你的网络体验更上一层楼。

  • 如何训练CHATGPT学习AI绘画的Prompt

    如何训练CHATGPT学习AI绘画的Prompt

    训练过程

    1. 首先告诉CHATGPT什么是prompt以及prompt的语法规则:

    prompt是用来指导AI绘画模型创作图像的。它们包含了图像的各种细节,例如构图方式、镜头的远近、人物的外观、背景、颜色和光线效果,以及图像的主题和风格还有参考的艺术家等等。越靠前的词语对画面构成影响越大,这些prompt的格式经常包含括号内的加权数字,用于指定某些细节的重要性或强调,默认权重为1.0,大于1.0的值证明权重增加,小于1.0的值证明权重降低。例如”(masterpiece:1.5)”表示这个词的权重是1.5倍,是一张杰作,多个括号也有类似作用。

    1. 给CHATGPT一个实例:

    下面是一个prompt例子: “extremely detailed CG unity 8k wallpaper,best quality,noon,beautiful detailed water,long black hair,beautiful detailed girl,view straight on,eyeball,hair flower,retro artstyle, (masterpiece:1.3),illustration,mature,small breast,beautiful detailed eyes,long sleeves, bright skin,(Good light:1.2)”

    这是一个关于人体艺术的prompt参考示例,请你学习一下: High detail RAW color Photo of pale beautiful 30yo woman ((nude)) (((Amused beautiful, petite, slim) with angular face, pointed chin, feminine, large eyes)), ((wearing rags, damaged)) cape, realistic, symmetrical, highly detailed, harsh lighting, cinematic lighting, art by artgerm and greg rutkowski and alphonse mucha, ((tornado, sparks, embers)) quad tails, showing breasts, serious eyes, contrast, textured skin, cold skin pores, hasselblad, 45 degree, hard light, gigapixel , feet visible, flawless face, freckles, perfect hairy vagina

    这是另外一个关于人体艺术的参考示例,你学习一下: sexy slim asian woman with perfect breasts and nice ass, kneeling on tiled floor in a large bright bathroom with window during day, green trees outside window, wearing a latex harness, leather straps, crotch strap, latex lingerie with garter and latex stockings, latex skirt, thong, purple, blue, green, red, pink, crotch, labia, has tattoos, wearing posture collar, show cleavage, breasts, exposed, nipples, highly detailed, ((((tight bondage)))), (((tied up))), submission, mistress, fetish, tight, (((wet))), ((rain)), ((shower water)), (wet hair), puddle, realistic photography, HDR 4k, (whole body shot), (wide angle)

    完成这一步就可以用CHATGPT写咒语了。

    进阶训练

    1. 所谓的进阶训练就是给CHATGPT更多的咒语让他学习。
    2. 更细致的教CHATGPT一些咒语:例如选一些描述环境、五官、表情、动作的咒语告诉它:

    给你一些promtp参考,这些是用来描述环境的: day, dusk, night, in spring, in summer, in autumn, in winter, sun, sunset, moon, full_moon, stars, cloudy, rain, in the rain, rainy days, snow, sky, sea, mountain, on a hill, the top of the hill, in a meadow, plateau, on a desert, in hawaii, cityscape, landscape, beautiful detailed sky, beautiful detailed water, intense shadows, strong rim light, golden hour lighting, against backlight at dusk, in the ocean, steam, in the cyberpunk city, beautiful purple sunset at beach , over the sea, explosion, underwater, on the ocean, flower field, on the beach, fireworks

    再给你一个prompt参考:(by mika pikazo:1.6),(solo:1.6), (masterpiece:1.6), (best quality:1.6),(highly detailed:1.6),finely detail,(Depth of field:1.2),extremely detailed CG unity 8k wallpaper,(beautiful detailed eyes:1.6),(extremely detailed eyes),(beautiful face:1.2),(highly detailed hair:1.6),colorful,(from above:1.4),(looking up:1.4),grin,collarbone,(multicolored eyes),multicolored eyellashes,(multicolored hair:1.6),(multicolored flowers),(sparkle),(floating water:1.2), (flowers on face:1.2),(hair flower:2.5),makeup,growth,flowers,(confetti:1.4),(wind lift:1.4),floating hair,dress

    再告诉你一些关于五官和表情的prompt,你学习一下: food on face, light blush, facepaint, makeup , cute face, white colored eyelashes, longeyelashes, white eyebrows, tsurime, gradient_eyes, visible through hair, stare, eyeball, looking at viewer, aqua eyes, heterochromia blue red, heterochromia , slit pupils , tareme, beautiful detailed eyes, looking to the side , constricted pupils, symbol-shaped pupils , heart in eye, heart-shaped pupils, wink , mole under eye, eyes closed, no_nose, fake animal ears, pointy ears, hair ear, mouse_ears, dog_ears, cat_ears, bunny_ears, fox_ears, animal_ears, animal ear fluff , light smile, seductive smile, laughing, teeth , excited, embarrassed , blush, shy, nose blush , expressionless, expressionless eyes, sleepy, drunk, tears, smug, smirk, dark_persona, crazy, scowl, jitome, serious, smirk, frown, annoyed, angry, wide eyed, sigh, grin, pout, crying with eyes open, naughty_face, :p, :q, :t, :d, one eye closed, sad, half-closed eyes, nosebleed, eyelid pull , tongue, tongue out, closed mouth, open mouth, lipstick, fangs, clenched teeth, :3

    告诉你一些关于发型的prompt,你参考一下: very short hair, short hair, medium hair, long hair, very long hair, absurdly long hair, hair over shoulder, alternate hair length, blonde hair, brown hair, black hair, blue hair, purple hair, pink hair, white hair, red hair, grey hair, green hair, silver hair, orange hair, light brown hair, light purple hair, light blue hair, platinum blonde hair, gradient hair, multicolored hair, shiny hair, two-tone hair, streaked hair, aqua hair, colored inner hair, alternate hair color, hair up, hair down, wet hair, ahoge, antenna hair, bob cut, hime_cut, crossed bangs, hair wings, disheveled hair, wavy hair, curly_hair, hair in takes, forehead, drill hair, hair bun, double_bun, straight hair, spiked hair, short hair with long locks, low-tied long hair, asymmetrical hair, alternate hairstyle, big hair, hair strand, hair twirling, pointy hair, hair slicked back, hair pulled back, split-color hair, braid, twin braids, single braid, side braid, long braid, french braid, crown braid, braided bun, ponytail, braided ponytail , high ponytail, twintails, short_ponytail, twin_braids, Side ponytail, bangs, blunt bangs, parted bangs, swept bangs, crossed bangs, asymmetrical bangs, braided bangs, long bangs, bangs pinned back, diagonal bangs, dyed bangs, hair between eyes, hair over one eye, hair over eyes, hair behind ear, hair between breasts, hair over breasts, hair censor, hair ornament, hair bow, hair ribbon, hairband, hair flower, hair bun, hair bobbles, hairclip, single hair bun, x hair ornament, black hairband, hair scrunchie, hair rings, tied hair, hairpin, white hairband, hair tie, frog hair ornament, food-themed hair ornament, tentacle hair, star hair ornament, hair bell, heart hair ornament, red hairband, butterfly hair ornament, hair stick, snake hair ornament, lolita hairband, crescent hair ornament, cone hair bun, feather hair ornament, blue hairband, anchor hair ornament, leaf hair ornament, bunny hair ornament, yellow hairband, pink hairband, dark blue hair, bow hairband, cat hair ornament, musical note hair ornament, carrot hair ornament, purple hairband, skull hair ornament, hair tucking, hair beads, multiple hair bows, hairpods, bat hair ornament, bone hair ornament, orange hairband, multi-tied hair, snowflake hair ornament

    再教你描述眼睛的prompt: blue eyes, red eyes, brown eyes, green eyes, purple eyes, yellow eyes, pink eyes, black eyes, aqua eyes, orange eyes, grey eyes, multicolored eyes, white eyes, gradient eyes, closed eyes, half-closed eyes, crying with eyes open, narrowed eyes, hidden eyes, heart-shaped eyes, button eyes, cephalopod eyes, eyes visible through hair, solid oval eyes, solid circle eyes, crazy eyes, extra eyes, sparkling eyes, no eyes, blank eyes, rolling eyes, empty eyes, glowing eyes, uneven eyes, blood from eyes, eyeshadow, red eyeshadow, blue eyeshadow, purple eyeshadow, pink eyeshadow, green eyeshadow, bags under eyes, ringed eyes, covered eyes, covering eyes, shading eyes

    这是描述服装的prompt: sailor collar, hat, shirt, serafuku, sailor suite, sailor shirt, shorts under skirt, collared shirt , school uniform, seifuku, business_suit, jacket, suit , garreg mach monastery uniform, revealing dress, pink lucency full dress, cleavage dress, sleeveless dress, whitedress, wedding_dress, Sailor dress, sweater dress, ribbed sweater, sweater jacket, dungarees, brown cardigan , hoodie , robe, cape, cardigan, apron, gothic, lolita_fashion, sportswear, buruma, lace, frills, polka_dot, striped, bare_legs, barefoot, bare_shoulders, off_shoulder, tartan, western, gothic_lolita, gym_uniform, tank_top, cropped jacket , black sports bra , crop top, pajamas, japanese_clothes, obi, mesh, sleeveless shirt, detached_sleeves, white bloomers, high – waist shorts, pleated_skirt, skirt, miniskirt, short shorts, summer_dress, bloomers, shorts, bike_shorts, dolphin shorts, belt, bikini, sling bikini, bikini_top, bikini top only , side – tie bikini bottom, side-tie_bikini, friled bikini, bikini under clothes, swimsuit, school swimsuit, one-piece swimsuit, competition swimsuit, Sukumizu, no bra, no_panties, bra , lowleg_panties/low_leg_panties, victorian, frilled bra , side-tie_panties, sexy lingerie, transparent underwear, string_panties, sarashi, thong, bustier, fundoshi, chemise, lingerie, underwear, panties, striped_panties,

    这是描述袜子和腿饰的prompt: bare legs, garter straps, garter belt, socks, kneehighs, white kneehighs, black kneehighs, over-kneehighs, single kneehigh, tabi, bobby socks, loose socks, single sock, no socks, socks removed, ankle socks, striped socks, blue socks, grey socks, red socks, frilled socks, thighhighs, black thighhighs, white thighhighs, striped thighhighs, brown thighhighs, blue thighhighs, red thighhighs, purple thighhighs, pink thighhighs, fishnet thighhighs, frilled thighhighs, vertical-striped thighhighs, orange thighhighs, yellow thighhighs, green thighhighs, thighhighs under boots, grey thighhighs, pantyhose, black pantyhose, white pantyhose, thighband pantyhose, brown pantyhose, fishnet pantyhose, striped pantyhose, vertical-striped pantyhose, fishnet legwear, red pantyhose, purple pantyhose, single leg pantyhose, blue pantyhose, grey pantyhose, bandaged leg, bandaid on leg, mechanical legs, leg belt, leg tattoo, bound legs, leg lock, panties under pantyhose, panty & stocking with garterbelt, white garter straps, neck garter, black garter belt, pantyhose under swimsuit, panties over pantyhose, socks over thighhighs, thighhighs over pantyhose, black garter straps, ankle garter, no legwear, black legwear, white legwear, torn legwear, striped legwear, asymmetrical legwear, brown legwear, uneven legwear, toeless legwear, print legwear, argyle legwear, pink legwear, blue legwear, grey legwear, purple legwear, legwear under shorts, mismatched legwear, red legwear, lace-trimmed legwear, ribbon-trimmed legwear, american flag legwear, yellow legwear, multicolored legwear, ribbed legwear, green legwear, fur-trimmed legwear, vertical-striped legwear, see-through legwear, frilled legwear, legwear garter, stirrup legwear, two-tone legwear, alternate legwear, latex legwear, seamed legwear, vibrator in thighhighs, torn pantyhose

    这是描述动作的prompt:head tilt, turning around, looking back, looking down, looking up, smelling, hand_to_mouth, arm at side , arms behind head, arms behind back , hand on own chest, arms_crossed, hand on hip, hand on another’s hip, hand_on_hip, hands_on_hips, arms up, hands up , stretch, armpits, leg hold, grabbing, holding, fingersmile, hair_pull, hair scrunchie, w , v, peace symbol , thumbs_up, middle_finger, cat_pose, finger_gun, shushing, waving, salute, spread_arms, spread legs, crossed_legs, fetal_position, leg_lift, legs_up, leaning forward, fetal position, against wall, on_stomach, squatting, lying , sitting, sitting on, seiza, wariza/w-sitting, yokozuwari, indian_style, leg_hug, walking, running, straddle, straddling, kneeling, smoking, arm_support, caramelldansen, princess_carry, fighting_stance, upside-down, top-down_bottom-up, bent_over, arched_back, back-to-back, symmetrical_hand_pose, eye_contact, hug, lap_pillow, sleeping, bathing, mimikaki, holding_hands, hair blowing, adjusting hair, hand in own hair, holding hair, tying hair, grabbing another’s hair, hands in hair, brushing hair, washing hair, all_fours, symmetrical_docking, undressing, skirt lift, shirt lift, adjusting_thighhigh

  • 忘记UOS密码的两种解决方案。

    忘记UOS密码的两种解决方案。

    GRUB2菜单修改引导命令:

    首先,要解决密码问题你需要知道如何进入GRUB2编辑菜单界面。

    进入GRUB2编辑模式很简单,看到系统引导的时候按“e”就可以了。

    修改引导命令:

    修改引导菜单进入单用户模式,single mode。

    找到

    ro splash quiet
    

    修改为

    rw init=/bin/sh
    

    然后按CTRL+X启动GRUB2菜单。

    进入熟悉的终端界面,输入passwd users命令

    passwd <username>
    

    username是你要修改密码的用户名称。

    1031版本及以后解决方案:

    1031版本及以后,不支持单用户模式破解密码,需要利用liveCD来破解密码

    刻录uos安装盘,从安装盘启动,在选择安装的界面选中“install”开头的行,按‘TAB’键

    删除livecd-installer,进入livecd桌面,右击打开终端

    创建目录用于挂载原先系统的root目录

    sudo mkdir /mnt/systmp
    

    输入lsblk -f,查看root路径,如果root所在路径是sda2

    则挂载sda2到/mnt/systmp目录下

    sudo mount -t ext4 /dev/sda2 /mnt/systmp
    

    用chroot命令改变当前根目录到/mnt/systmp下

    sudo chroot /mnt/systmp
    

    用passwd命令修改用户密码

    passwd <username>
    

    删除用户的密钥环

    rm /home/lenovo/share/keyring/login.keyring
    

    重启系统

    reboot -f

    写在最后:为什么你的文章不配图?

    1. 因为在很多教程里配图反而会影响用户解决问题,专注的找到我在文中提到的关键点,你一定能解决问题。
    2. 我希望很多年以后我的教程还可以用,这期间图片链接可能失效。但文字永远不会过期。
    3. 方便搬运党二次创作。