Blockchain 区块链编程与常规编程有何不同?

Blockchain 区块链编程与常规编程有何不同?,blockchain,Blockchain,区块链似乎是新的热门事物,我很好奇它与程序员的观点有何不同 比如说,如果我使用的是Solidity,我不是仍然应用了面向对象的原则吗?它与Ruby有何不同?面向契约的编程基本上不是和面向对象的编程一样,但是涉及到钱(在Solidity的情况下是以太)吗 或者可能它们是相似的,只是区块链编程更加透明和安全,因为它是不可信的 总之,我只是想了解一下如何将我目前的编程技能转变为区块链。谢谢。我假设您对公共区块链编程感兴趣,以太坊是最广泛使用的,因此“区块链编程”将指在公共区块链网络上编程 在规划公共区

区块链似乎是新的热门事物,我很好奇它与程序员的观点有何不同

比如说,如果我使用的是Solidity,我不是仍然应用了面向对象的原则吗?它与Ruby有何不同?面向契约的编程基本上不是和面向对象的编程一样,但是涉及到钱(在Solidity的情况下是以太)吗

或者可能它们是相似的,只是区块链编程更加透明和安全,因为它是不可信的


总之,我只是想了解一下如何将我目前的编程技能转变为区块链。谢谢。

我假设您对公共区块链编程感兴趣,以太坊是最广泛使用的,因此“区块链编程”将指在公共区块链网络上编程

在规划公共区块链网络时,存在多种担忧:

  • 不变性:这是公共区块链的天赋和诅咒。您提交到分类账的任何内容都可以通过
    拉取
    轻松修改。因此,在第一次尝试时必须格外小心
  • 安全性:您的代码就在那里,全世界都可以看到。这种透明度也为恶意行为者(或公然狂热的新手)打开了造成重大伤害的大门。见和
  • 信任层:区块链编程为OSI模型添加了额外的“信任层”。因此,大部分应用程序逻辑都是由区块链驱动的。然后,您需要使用另一个中介器(以太坊的例子是Web3)与应用程序层通信,然后将其插入体验层
  • 气体(或其等效物):对于以太坊,引入气体的概念是为了防止“无限循环攻击”。存在以下问题:(i)运行应用程序的成本变得非常昂贵(以太坊目前的价格为820美元)(ii)编程需要对每个操作的计算成本有深入的了解
  • 通过put:公共区块链要求将交易传播到整个网络。这会引入延迟,因为网络中的每个节点都必须运行您的操作,请参见
  • 这份清单远非详尽无遗,但我希望它能开始阐明其中的差异,并为您的旅程提供帮助

    参考资料:


    你在说什么听起来更像是编写智能合约。Solidity是另一种用于构建智能合约的编程语言。它类似于Javascript。