首页
壁纸
关于
发现大佬
Search
1
XBOX土耳其阿根廷购买教程
4,071 阅读
2
Oculus Quest2 无线投屏到PC
2,876 阅读
3
openwrt路由器安装uu加速器插件
1,994 阅读
4
xiaomi 小米pad 5 pro adb 删除自带app 系统精简 (非root)
1,556 阅读
5
Xbox Series X / S 开箱~~~~激动无比
1,322 阅读
学习
QuantumultX
JavaScript
web3
react
Solidity
雅思
Azure
游戏
随笔
登录
/
注册
Search
标签搜索
javascript
XSX
js
游戏
xbox
css
游戏截图
Xbox Series X
刺客信条
刺客信条英灵殿
web3
雅思
学习
IELTS
英语
教程
Xbox Series S
Steam
截图
leetcode
Arthur
累计撰写
109
篇文章
累计收到
104
条评论
首页
栏目
学习
QuantumultX
JavaScript
web3
react
Solidity
雅思
Azure
游戏
随笔
页面
壁纸
关于
发现大佬
搜索到
63
篇与
学习
的结果
Xbox Fans DAO 合约开源
2022年04月23日
186 阅读
1 评论
0 点赞
2022-04-23
前段时间学习了ecr721合约,并写了自己的一个练手的盲盒nft合约 项目地址 https://xboxfans.xyz/ 合约地址 0x9eCe35DDE502E0c966204967702bca1e860d9B43 网站 已开源,第一次用react,还不太熟练,web.js也是第一次用,还有不少bug, https://github.com/FFFFourwood/Xbox-Fans-Website 合约已开源 https://github.com/FFFFourwood/Xbox-Fans-DAO
2022-04-03
分享一个便宜的购买域名网站
域名注册推荐 porkbun - 便宜然后支持加密货币支付。 进入网站 选择喜欢的域名,这里我购买一个xboxfans xboxfans.xyz. 一年才不到1刀,,很划算 支付方式很全,,还支持加密货币支付 这里我为了方便用的google pay 操作完成,简单方便,, xboxfans.xyz
2022年04月03日
164 阅读
0 评论
0 点赞
网络基础知识
网络基础知识 Work Group and Domain 工作组(Workgroup):就是将不同的电脑按功能分别列入不同的组中,以方便管理。 域(Domain):就是由用户和计算机组成的一个逻辑组。在一个域中,由域控制器统一的管理帐户数据库, 管理所有的用户登录, 资源访问认证及其它管理任务。在 Windows 网络操作系统中,域是安全边界。域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或者管理其他的域。 AD Active Directory 活动目录 AD概念 AD(Active Directory)中文翻译为活动目录。 为网络提供目录服务,启用AD Service后,也就是在环境中建域,这个域是一个管理的安全边界,一个资源的集合。 AD是微软基于LDAP协议提供给Server平台的目录服务。 可以理解为AD是一个数据库一个目录服务。 AD特点: 集中管理、便捷的网络访问资源、可扩展性 AD的逻辑结构: 域、域树、域林 Domain Tree and Domain Forest 域树由多个域组成,这些域共享同一表结构和配置,形成一个连续的名字空间 域林是指由一个或多个没有形成连续名字空间的域树组成 Domain Trust 信任是在域之间建立的关系,可以使一个域中的用户由其他域控制器进行身份验证。 如果A域信任了B域,那么A域的域控制器将把B域的用户账号复制到自己的Active Directory中,这样A域内的资源就可以分配给B域的用户了。从这个过程来看,A域信任B域首先需要征得B域的同意,因为A域信任B域需要先从B域索取资源。这点和我们习惯性的理解不同,信任关系的主动权掌握在被信任域手中而不是信任域。 父子域 在一个已经存在的域a.com下新建立一个子域b.a.com,这2个域的关系就是父子域的关系。从域的名字来看,父子域具有连续的命名空间。同样我们可以在子域b.a.com下在添加一个子域为c.b.a.com OU Organizational Unit 组织单位,是AD的对象、也是AD中的容器,在OU中可以包含用户、组、计算机、打印机、OU自身等。 按部门划分 按地理划分 按IT职能划分 混合方式划分 User and Group 组Group是用于管理账户的集合。 组的类型: 安全组(Security):可以设置权限使得组内的用户有相应的权限,简化网络维护和管理。 通讯组(Distribution):不能授权其访问资源,只能用作电子邮件和通讯。 AGDLP A(Accounts)指的是在Windows Server 的域用户账户。 G(Global Group)指的是将上述的用户账户添加到某个全局组中。 DL(Domain Local Group)指的是将全局组添加到某个域本地组中,可以使用内置的域本地组,也可以创建一个新的域本地组来接纳全局组的成员。 P(Permission)指的是最后将访问资源的权限赋予相应的域本地组,则域本地组中的成员就可以在权限的控制下访问资源了。 DC, DNS DC(Domain controller) 域控,活动目录的目录数据存储在域控制器内。 DNS是网域名称系统(Domain Name System)的缩写,该服务用于命名组织到域层次结构中的计算机和网络服务。在Internet上域名和IP地址是一对一(或者是多对一)。 DNS的主要工作是域名解析,也就是把计算机名翻译成IP地址,这样可以直接用易于联想记忆的计算机名来进行网络通讯而不用去记忆那些枯燥晦涩的IP地址了。
2022年03月09日
173 阅读
0 评论
0 点赞
什么是无常损失
什么是无常损失
2022年02月18日
174 阅读
0 评论
0 点赞
2022-01-11
智能合约部署教程 如何部署一个智能合约
学习以太坊智能合约不仅仅是学习一门新的编程语言Solidity,更是学习如何使用高效的开发工具、如何进行完整的测试。 使用Solidity编译器和Geth 控制台手动部署一份智能合约。 什么是智能合约 智能合约就是一组规则和规则指导下的数据的合体。相当于一个后端代码+数据库。 智能合约是代码编写的合同 智能合约的条款由代码来指定,代码的逻辑缜密远超普通文字描述。 智能合约的存储、部署在公开的以太坊链条上,天然具有公开、透明的性质。任何人都可以随时公开查询一个合约的状态。 智能合约的安全性由去中心化网络保证,产生的交易数据也在区块链上永久存储和追溯,无法抵赖,安全性远超由中央节点控制的条款类程序。 智能合约有强制性、自动性,无需人工干预,当条件满足时仅需触发,就能自行完成相应操作,如转账扣款或者变更库存数量等。 安装编译器 同安装 Geth一样,我们通过Homebrew包管理器来安装 solc。 按顺序执行下面的命令 brew tap ethereum/ethereum brew install solidity 安装成功后查看版本 solc --version Solc编译智能合约 这里推荐solidity插件 先准备一个简单的智能合约 pragma solidity ^0.8.11; contract Vault { uint vaultData; function set(uint data) public{ vaultData = data; } function get() public view returns (uint) { return vaultData; } } 简单解释一下各个部分。智能合约的名字是Vault,是一个存储合约,它开辟一个存储区 vaultData,该存储区是一个 uint 类型的变量(unsigned int,正整数)。智能合约一共包含两个方法:set 与get。分别为设置 vaultData 的值和读取 vaultData 的值。整个合约不会产生事件,所以也不会产生日志。合约指定需要编译器版本 0.8.11 来进行编译 我们来到控制台,执行以下命令编译该智能合约: solc --optimize --combined-json abi,bin Vault.sol 输出结果为 {"contracts":{"Vault.sol:Vault":{"abi":[{"inputs":[],"name":"get","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"data","type":"uint256"}],"name":"set","outputs":[],"stateMutability":"nonpayable","type":"function"}],"bin":"6080604052348015600f57600080fd5b5060ac8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806360fe47b11460375780636d4ce63c146049575b600080fd5b60476042366004605e565b600055565b005b60005460405190815260200160405180910390f35b600060208284031215606f57600080fd5b503591905056fea2646970667358221220e326564e4c5c8bf8ab243fd9bdd4af546d2e1e65128f376b4d7707e0d2aa670c64736f6c634300080b0033"}},"version":"0.8.11+commit.d7f03943.Darwin.appleclang"} 我们将该编译结果放入一份 temp.js 文件中并重新排版。 var output = {"contracts":{"Vault.sol:Vault":{"abi":[{"inputs":[],"name":"get","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"data","type":"uint256"}],"name":"set","outputs":[],"stateMutability":"nonpayable","type":"function"}],"bin":"6080604052348015600f57600080fd5b5060ac8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806360fe47b11460375780636d4ce63c146049575b600080fd5b60476042366004605e565b600055565b005b60005460405190815260200160405180910390f35b600060208284031215606f57600080fd5b503591905056fea2646970667358221220e326564e4c5c8bf8ab243fd9bdd4af546d2e1e65128f376b4d7707e0d2aa670c64736f6c634300080b0033"}},"version":"0.8.11+commit.d7f03943.Darwin.appleclang"} 格式化以后 var output = { "contracts": { "Vault.sol:Vault": { "abi": [ { "inputs": [], "name": "get", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "data", "type": "uint256" } ], "name": "set", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bin": "6080604052348015600f57600080fd5b5060ac8061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806360fe47b11460375780636d4ce63c146049575b600080fd5b60476042366004605e565b600055565b005b60005460405190815260200160405180910390f35b600060208284031215606f57600080fd5b503591905056fea2646970667358221220e326564e4c5c8bf8ab243fd9bdd4af546d2e1e65128f376b4d7707e0d2aa670c64736f6c634300080b0033" } }, "version": "0.8.11+commit.d7f03943.Darwin.appleclang" } 提取其中的ABI { "inputs": [], "name": "get", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "data", "type": "uint256" } ], "name": "set", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ABI 代表了一份“说明书”,展示了对于我们生成的合约究竟可以进行哪些操作、操作的参数又是哪些。 在编译期我们就已经确定了参数类型和函数名称,不存在动态类型。我们研读这份ABI 的总体结构,是一个列表。 列表里共2个项目:名为 get 的方法与 名为 set 的方法,其中 set 方法接受一个 uinit256 的参数, 名为 data( uint256 即256位的 uint,在solidity中与 uint 同义); get 方法不接受 任何的参数,但是输出一个结果为 uint256 的值,且返回值不命名。 下面对ABI 中常见的几个关键字进行解释 名称 解释 type 接口类型,默认为function,也可以是construnctor、fallback等 name 方法名字 inputs 接口输入参数列表,每一项都是参数名+参数类型 outputs 接口输出结果列表,每一项都是返回值名+返回值类型 constant 布尔值,若为true 则该接口不修改合约存储区,是只读方法 payable 布尔值,标明该方法是否接受以太币 stateMutability 枚举类型,为下列选项之一: pure:表明该方法只读不修改存储,且不读取区块链状态 view:表明该方法只读不修改存储,但读取区块链状态 nonpayable:该方法不能接受以太币 payable:该方法可以接受以太币 第二部分是 bin 也就是经过编译器优化过后的可运行的合约字节码。真正部署到区块链上的是 bin 这一部分的代码,这部分代码的内容是初始化代码,包含了如何清理空间、创建变量、初始化合约的指令。 文章来源
2022年01月11日
194 阅读
0 评论
0 点赞
1
...
4
5
6
...
13