Recent Posts
学习unicloud一
准备工作 新建一个云空间并关联,最终效果 正式开始 cloudfunctions右键创建云对象,代码就写在里面 index.obj.js中写上 module.exports = { _before: function () { // 通用预处理器 }, say() { return { errCode: 0, data: "hello, i'm uniCloud" } } } index.vue中使用,点击即可使用
<template> <view class="content"> <button @click="callco">呼叫服务器</button> </view> </template> <script> export default { data() { return { title: 'Hello' } }, onLoad() { }, methods: { async callco() { const co1 = uniCloud.importObject("co1") let res = await co1.
read more
Lear Solidity 10 Cryptographic Functions
使用算法实现随机数的生成 // SPDX-License-Identifier: MIT pragma solidity >=0.7.0 <0.9.0; contract GenerateRandomNumber { // modulo (%) // 要做的事情是接受一个输入范围,使用加密图形散列算法,得到随机数字 function randMod(uint256 range) external view returns (uint256) { // abi.encodePacked 可以连接参数 return uint256( keccak256( abi.encodePacked( block.timestamp, block.difficulty, msg.sender ) ) ) % range; } } 练习,使用oracle dynamic feeds实现随机 Oracle函数 这段代码定义了一个名为 Oracle 的智能合约。智能合约是一种区块链上的自动执行的程序,它遵循由 Solidity 编写的智能合约语言。 在这个智能合约中,定义了一个变量 admin,用来存储发布智能合约的地址。还定义了一个 uint256 类型的公共变量 rand,用来存储一个随机数。 智能合约还定义了一个名为 constructor 的构造函数,它在智能合约被部署时会自动执行。在这个构造函数中,会将 admin 变量的值设置为部署智能合约的地址。 智能合约还定义了一个名为 feedRand 的函数,它允许指定的用户更新随机数的值。这个函数只能由 admin 调用,因为在函数中会检查调用者的地址是否与 admin 的地址相同。如果调用者是 admin,那么函数会将 rand 变量的值设置为传入函数中的参数 _rand。 GenerateRandomNumber函数 这段代码定义了一个名为 GenerateRandomNumber 的智能合约。这个智能合约接受一个输入范围,并使用加密图形散列算法(cryptographic hash function)生成随机数。智能合约定义了一个名为 oracle 的变量,用来引用一个 Oracle 合约的实例。智能合约还定义了一个构造函数,该函数接受一个地址,并使用该地址初始化 oracle 变量。智能合约还定义了一个名为 randMod 的函数,该函数接受一个 uint256 类型的参数 range,并返回一个 uint256 类型的随机数。在函数中,会使用 oracle.
read more
Learn Solidty 9 Function Overload
简单理解就是 java 里面的函数的重载,相同函数名,不同的参数或者参数类型就是重载 举例 // SPDX-License-Identifier: MIT pragma solidity >=0.7.0 <0.9.0; contract FunctionOverloading { function x(uint256 lightSwitch, uint256 wallet) public {} function x(uint256 wallet) public {} // 重载练习 function getSum(uint256 a, uint256 b) public pure returns (uint256) { return a + b; } function getSum( uint256 a, uint256 b, uint256 c ) public pure returns (uint256) { return a + b + c; } function getSumTwoArgs() public pure returns (uint256) { return getSum(2, 3); } function getSumThreeArgs() public pure returns (uint256) { return getSum(1, 5, 6); } }
read more