我正在创建一个以太坊DApp.DApp由具有关联数据的用户组成,例如电子邮件,姓名和个人资料图片.我想将用户的内容作为JSON对象存储在IPFS中,并使用IPFS哈希在链上引用它.我怎样才能将这些数据与特定用户相关联?从某种意义上说,后续与DApp的交互将用户与存储在IPFS中的数据联系起来.这是使用用户帐户哈希和某种密码完成的吗?
例如,用户A有兴趣使用DApp,因此,提供他或她的电子邮件,姓名和个人资料图片.然后,任何与DApp的后续交互,如评论或帖子,都会将此用户链接到IPFS中的相应用户数据.
对这种建模用户的方式的任何建议或调整将不胜感激.谢谢!
(PS我来自传统的网络/移动应用程序世界,所以我只是习惯于使用智能合约对事物进行建模.所以如果这是一个简单或结构不合理的问题,我会提前道歉.)
我已经成功运行了React Native和web3@0.19.0两者rn-nodeify并ReactNativify成功运行.
我知道web3 v1.0会动态构建模块,但我想知道是否有人成功将web3@1.0.0集成到React Native中?
任何想法或建议将受到高度赞赏.
干杯!
是否有任何指南或代码可以作为示例来实现智能合约接收和发送 USDT 到其他地址的功能。
我感谢您的帮助
我正在运行以下代码web3.py:
transaction = SimpleStorage.constructor().buildTransaction(
{"chainId": chain_id, "from": my_address, "nonce": nonce}
)
Run Code Online (Sandbox Code Playgroud)
我遇到了以下错误:
Traceback (most recent call last):
File "/Users/patrick/code/web3_py_simple_storage/deploy.py", line 64, in <module>
transaction = SimpleStorage.constructor().buildTransaction(
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/eth_utils/decorators.py", line 18, in _wrapper
return self.method(obj, *args, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/web3/contract.py", line 684, in buildTransaction
return fill_transaction_defaults(self.web3, built_transaction)
File "cytoolz/functoolz.pyx", line 250, in cytoolz.functoolz.curry.__call__
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/web3/_utils/transactions.py", line 121, in fill_transaction_defaults
default_val = default_getter(web3, transaction)
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/web3/_utils/transactions.py", line 71, in <lambda>
web3.eth.max_priority_fee + (2 * web3.eth.get_block('latest')['baseFeePerGas'])
File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/web3/eth.py", line 549, in max_priority_fee …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过使用 python 进行交易,将我的 SimpleStorage.sol 合约部署到 ganache 本地链。连接到链条似乎有问题。
from solcx import compile_standard
from web3 import Web3
import json
import os
from dotenv import load_dotenv
load_dotenv()
with open("./SimpleStorage.sol", "r") as file:
simple_storage_file = file.read()
compiled_sol = compile_standard(
{
"language": "Solidity",
"sources": {"SimpleStorage.sol": {"content": simple_storage_file}},
"settings": {
"outputSelection": {
"*": {"*": ["abi", "metadata", "evm.bytecode", "evm.sourceMap"]}
}
},
},
solc_version="0.6.0",
)
with open("compiled_code.json", "w") as file:
json.dump(compiled_sol, file)
# get bytecode
bytecode = compiled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["evm"][
"bytecode"
]["object"]
# get ABI
abi = compiled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["abi"]
# to …Run Code Online (Sandbox Code Playgroud) 我尝试使用 Ethers.js 从 KyberSwap 获取 ETH 的价格,但收到以下错误:
Error: unknown account #0 (operation="getAddress", code=UNSUPPORTED_OPERATION, version=providers/5.5.3)
Run Code Online (Sandbox Code Playgroud)
我已连接到 Infura Web 套接字来获取数据。这是我的脚本:
Error: unknown account #0 (operation="getAddress", code=UNSUPPORTED_OPERATION, version=providers/5.5.3)
Run Code Online (Sandbox Code Playgroud)
我该如何修复这个错误?
我已经在这里发布了使用创建的 react-native 应用程序
react-native init myapp
added web3 in package.json
npm install
react-native run-ios
Run Code Online (Sandbox Code Playgroud)
但我收到了无法从 web3-eth-accounts 解析模块加密的错误。有没有什么办法解决这一问题
我正在尝试通过元掩码和 ethers.js 从网络应用程序将 ETH 发送到合约函数。到目前为止我已经尝试过:
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
const splitterManager = new ethers.Contract(contract.address, contract.abi, signer);
var overrides = {value: 5}
const result = await splitterManager.newSplitter(addresses, shares, erc20, overrides);
console.log(result);
Run Code Online (Sandbox Code Playgroud)
但我不断收到“错误:未为 ENS 名称配置解析器或地址(参数=“名称”,值=“”,代码= INVALID_ARGUMENT,版本=合同/ 5.2.0)”。
我已经安装了最新版本的安全帽。它安装得很好。
设置安全帽并安装所有必需的软件包后,当我运行时:
npx hardhat accounts
Run Code Online (Sandbox Code Playgroud)
它给出了一个错误:
Error HH303: Unrecognized task accounts
Run Code Online (Sandbox Code Playgroud)
似乎“帐户”任务已在最新版本的安全帽中删除。我现在的问题是获取安全帽生成的钱包帐户列表?
ethereum ×10
solidity ×5
ethers.js ×2
ganache ×2
hardhat ×2
ipfs ×2
python ×2
react-native ×2
blockchain ×1
gun ×1
javascript ×1
npm ×1
p2p ×1
web3js ×1
webpack ×1