标签: decentralized-applications

IPFS 无法真正强制节点删除上传的文件,这不是问题吗?

随着数字世界中正在发生这种去中心化浪潮,我想知道如何删除刚刚在去中心化网络上上传的一些内容。

据我了解,越来越多的人希望拥有去中心化的服务,因为与客户端-服务器架构相反,这让你对自己的东西拥有更多的所有权,并且一切都更加透明。但是,如果您搞砸了,或者您作为客户的公司搞砸了,他们/您上传了一些您显然不希望其他人访问的个人信息,会发生什么?由于它是一个点对点网络,每个人都可以访问它,并且没有办法强制他们删除它。

我想我想要了解的是,这个去中心化的未来将如何处理私人数据,是否会有一个集中的地方来存放私人数据,然后我们将在 ipfs 和不同的类似应用程序上做其他事情?因为如果是这样的话,那目的是什么,为什么不继续现在这样呢?也许我还没有看到所有的用例......

distributed ipfs decentralized-applications

8
推荐指数
2
解决办法
4329
查看次数

如何在 web3.js 中正确使用恢复原因以在 UI 中显示有意义的错误消息

我想使用 web3.js 向用户显示恢复原因,例如,在用户尝试铸造已经铸造的 erc721 令牌的情况下。我正在使用 try catch 块并查看错误消息,但我想隔离错误消息以向用户显示有意义的原因。提前致谢。

ethereum web3js decentralized-applications

7
推荐指数
2
解决办法
6511
查看次数

Solidity 中接口和抽象契约的区别

我正在学习 Solidity,并且知道interfaceabstract都是可能包含未使用的函数的类。我的疑问是: Solidity 智能合约interface和Solidity 智能合约有什么区别?abstract contract

blockchain ethereum solidity smartcontracts decentralized-applications

7
推荐指数
1
解决办法
2370
查看次数

找不到模块:错误:无法解析 JSON

我已经命令npm run dev运行我的代码。但是,它弹出了几个错误它弹出的第一个错误是Module not found: Error: Can't resolve '../../build/contracts/User.json'我不知道为什么会弹出这个错误,因为在我的webpack.config.js文件中我已经设置了

loaders: [
      { test: /\.json$/, use: 'json-loader' },
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015'],
          plugins: ['transform-runtime']
        }
      }
    ] 
Run Code Online (Sandbox Code Playgroud)

我试过把json-loader改成json,还是不行。 https://github.com/webpack-contrib/json-loader/issues/17

webpack.config.js

const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {
  entry: './app/javascripts/app.js',
  output: {
    path: path.resolve(__dirname, 'build'),
    filename: 'app.js'
  },
  plugins: [
    // Copy our app's index.html to the build folder.
    new CopyWebpackPlugin([
      { from: './app/index.html', to: …
Run Code Online (Sandbox Code Playgroud)

npm webpack truffle decentralized-applications

6
推荐指数
1
解决办法
4847
查看次数

钱包和 JsonRpcSigner 有什么区别?

在以太坊文档中,它说两个最常见的签名者是:

Wallet,这是一个知道其私钥并可以用它执行任何操作的类。

JsonRpcSigner,连接到 JsonRpcProvider (或子类)并使用 getSigner 获取

我无法理解的是,当提供者是 web3provider(即 MetaMask)时,如何创建 JsonRpcSigner。难道 web3provider 不知道它的私钥,因此应该在provider.getSigner()运行时返回一个钱包吗?

ethereum decentralized-applications ethers.js

6
推荐指数
1
解决办法
2616
查看次数

如何使用 IPFS 存储应用程序状态(作为 dApp 的后端)?

我刚开始使用 IPFS 和以太坊。我们正在构建一个 dApp(移动)并计划用 IPFS 和以太坊替换标准的 API 和数据库层。所以,经过大量阅读后,我有以下问题,

  1. 使 dApp 直接与 IPFS(通过 IPFS API)对话以存储数据(应用程序数据或文件)并获取数据。即,用 IPFS 完全替换 API 层似乎是可能的,但是这种方法有什么问题吗?我们可以完全没有 API 吗?

  2. 如果第 1 点是可能的,访问文件数据是直接的,但如何访问应用程序。IPFS 中的数据(例如:推荐的存储和检索结构是什么,如何存储不同的用户数据等)?

  3. 我知道添加到 IPFS 的数据是公开可用的,我们如何保护该数据并使其仅对特定客户可用?据我了解,IPFS 中没有公钥/私钥机制?

  4. 当我们将视频存储在 IPFS 中时,要在客户端流式传输视频,我们是否需要使用 CDN,我不确定如何在分散的解决方案中做到这一点。

  5. 当某些事件被触发或由客户端应用程序命令时,IPFS 中是否有任何选项可以自动执行任务(例如:运行脚本)?

  6. 从节点查找和获取数据时,IPFS 是否存在任何已知的性能问题?

  7. 关于可用于实现上述方法的工具和框架的任何建议?

提前致谢。

ethereum ipfs decentralized-applications

5
推荐指数
1
解决办法
524
查看次数

Git 是分布式的还是去中心化的?

我知道 git 使用版本控制来跟踪文件。而且它也是分布式的,这意味着不止一台计算机存储相关文件。但我怀疑 git 是分布式的还是去中心化的?如果是去中心化的,那为什么还需要github、gitlab呢?使用 Github 和 Gitlab 使其分布式(一个主多个从节点)对吗?因为,我们有一个 master(如 github),客户(合作者)依赖于它。但是 git 利用了区块链(各种)技术,这让我认为 git 是去中心化的,因为所有区块链技术应用程序,如比特币、以太坊都是去中心化的。与比特币不同,git 中的节点之间没有点对点通信,这与区块链的去中心化性质相矛盾。我们需要 github 来与其他节点通信,或者如果我们要与其他节点协作。

git distributed github decentralized-applications

5
推荐指数
2
解决办法
3983
查看次数

是否可以将 Node JS 应用程序托管到 IPFS?可能是通过弗利克吗?

是否可以将 Node JS 应用程序托管到 IPFS?可能是通过弗利克吗?我知道可以使用 Fleek 在 IPFSA 上托管 React JS 应用程序,但是是否可以在 IPFS 上托管或运行 Node 服务器,或者是否有其他分散的方式来托管 Node JS 应用程序?

hosting node.js continuous-deployment ipfs decentralized-applications

5
推荐指数
1
解决办法
893
查看次数

如何在 ethers.js ABI 中定义结构数组返回类型

目前我得到了这个 abi:

const stakingAbi = [
    'function getStakes(address user) external view returns (Stake[] memory)',
    'function stake7Days(uint128 _amount) external whenNotPaused',
    'function stake14Days(uint128 _amount) external whenNotPaused',
    'function stake30Days(uint128 _amount) external whenNotPaused',
    'function stake90Days(uint128 _amount) external whenNotPaused'
]
Run Code Online (Sandbox Code Playgroud)

Stake结构如下所示:

struct Stake {
    uint16 bonusPercentage;
    uint40 unlockTimestamp;
    uint128 amount;
    bool withdrawn;
}
Run Code Online (Sandbox Code Playgroud)

目前 getStakes 函数不起作用,因为 Ethers 不知道它Stake[]是什么,我如何在 ABI 中定义它?

decentralized-applications ethers.js

5
推荐指数
1
解决办法
2091
查看次数

无法在React应用程序中导入web3库

./node_modules/cipher-base/index.js 中的错误 3:16-43

找不到模块:错误:无法解析“C:\Users\Sumana\Desktop\Web3\web3app\node_modules\cipher-base”中的“流”

重大更改:webpack < 5 默认情况下包含 Node.js 核心模块的 Polyfill。这已不再是这种情况。验证您是否需要此模块并为其配置一个polyfill。

如果你想包含一个polyfill,你需要: - 添加一个后备 'resolve.fallback: { "stream": require.resolve("stream-browserify") }' - 安装 'stream-browserify' 如果你不这样做想要包含一个polyfill,你可以使用一个空模块,如下所示:resolve.fallback: { "stream": false }

node.js reactjs web3js decentralized-applications

5
推荐指数
2
解决办法
2991
查看次数