热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

20行代码,带你了解未来颠覆性的工作模式

在传统的上下级工作模式下,个人缺少展示自我的机会,劳动力效率低下,成长速度较慢、缺少完整的反馈机制,不利于个人和团体的协同发

640?wx_fmt=jpeg

在传统的上下级工作模式下,个人缺少展示自我的机会,劳动力效率低下,成长速度较慢、缺少完整的反馈机制,不利于个人和团体的协同发展。


在未来的工作形式中,传统的上下级关系模式将被颠覆,取而代之的是去中心化的、高效的、自由的分布式协作模式。区块链技术将改变未来工作形式,借助智能合约,搭建现实世界与数字世界的桥梁,让工作更便捷、让生活更多元、让个人更有价值。

作者 | Ben Stewart

译者 | kou、木星


Ben Stewart:Blackbox AI联合创始人兼首席技术官,Blackbox基金会董事会成员,区块链传播者、工程师、顾问。

搜索结果



未来,公司劳动力不再仅限于雇用员工,而是会由众多分散的源源不断提供强大驱动力的贡献者构成



未来,我们要做贡献者


贡献者会不断为团体甚至整个社会带来容易评估的价值;而传统员工,在被重复性工作不一致意见上级的主观期望所困扰的同时,大部分人缺乏有效的反馈机制和可触及的成长机会。这就是为什么现在有很大比例的劳动力都处于空闲的或者低效的工作状态之中的原因。


数十年来,由于传统的、上下属的人员组成结构,问题一直在积累,人们也没有意识、没有想法去讨论如何解决这些问题。

640?wx_fmt=png

现在,情况可能会变得更糟糕了。过时的思维方式和运作方式与人工智能等前沿技术正在结合,这可能会导致全球大多数劳动力因不可抗力而逐渐失去工作,慢慢的,变得没有价值


为了应对创纪录的高失业率、求职机会受限和收入差距扩大等问题,我们迫切需要改变原有的思维方式,重新设计组织的核心运行机制



未来组织的核心到底是什么


在保障每个人可以更加容易地得到适合自身能力与经验的工作机会时,我们也必须建立一套能够培养和扩展贡献者文化的工具,从而获取更多的机会、幸福和成长


那么,我们应该如何去实现这个想法?利用现有技术,又如何去构建未来的工作模式呢?


我们意识到,需要借助区块链技术改变传统的组织关系模式工作模式


因此,我们提出加密散列函数、分布式自治组织等基本概念。我们希望专注于未来工作中的一个核心区域,不受其他干扰因素影响而分散注意力。



沟通,是分布式协作的核心内容


在未来的工作中,我们需要进一步加强分布式协作。组织不是在封闭环境下运作,我们越早接受这一点,我们就越早开始改善工作体验。


我们倾向于以不同期人际关系的方式去思考沟通。比如,Bob向Janet讲述了他的周末生活,而Janet将之后几天的类似情形告诉了Bob。


当我们在组织环境中考虑这一点时,我们会遇到同样的的低效率,由于单向、上下属的管理结构,它们经常被放大。沟通是不应该建立在这种灌输信息的想法之上的


在未来的工作形式中,我们将沟通视为信息交换。这种交换出现在人与人之间,系统之间以及人与系统之间



640?wx_fmt=png



作为贡献者,你与这些信息源之间存在一对多的关系,这需要更灵活、更有效的方法来访问你想要知道的内容。



另一方面,系统与来自各个角度和它运行数据类型范围的信息源具有多对多的关系。有些信息只存在于智能合约中,而有些信息则是真实世界事件,甚至是高级贡献者大脑中的专业知识。



智能合约:连接现实与数字世界的桥梁


信息是组织的生命线,我们需要借助智能合约连接现实与数字世界。


智能合约(Smart contract )是一种旨在以信息化方式传播、验证或执行合同的计算机协议,于1994年由Nick Szabo首次提出。


智能合约允许在没有第三方的情况下进行可信交易,交易可追踪且不可逆转。


智能合约是一个非常强大的工具,它可以将现实世界与数字世界结合在一起。就像人们进行对话一样,数据会以各种方式进行“交流”。


在未来的工作形式中,借助智能合约,所有形式的沟通都将变得更加有效。信息世界中将不再存在信息孤岛,我们可以更加有效地得到、识别和利用信息。


所以,我们就需要搭建一座连接数字世界和现实世界的桥梁。


我们使用的计算机语言Solidity,在智能合约中,存在很多很多“事件”。事件允许链上交易与真实世界中的链下服务进行交互,从而跳过传统工作模式的第三方,提高劳动力工作效率并及时接收反馈。




640?wx_fmt=png



那么智能合约的机制是怎样的?如何编写一个简单的智能合约?


智能合约能够在处理事务时发出事件,在更深层次上,事件利用EVM日志记录工具触发Javascript回调。


使用solidity语言创建一个轻量级智能合约:


pragma solidity ^0.4.23;

contract ContributorContract {

  string firstName;

  string lastName;

  event Contributor(

      string firstName,

      string lastName
      
   
)
;

  function setContributor(string _firstName, string _lastNamepublic {

      firstName = _firstName;

      lastName = _lastName;

      emit Contributor(_firstName, _lastName);

  }

  function getContributor() view public returns (stringstring{

      return (firstName, lastName);

  }

}


在Solidity中创建事件非常简单,启动setContributor()时,就会创建一个事件。当我们设置贡献者的名字时,这个轻量级智能合约就会触发一个事件。


从Solidity发出的可能看似基本的事件,也许会让我们看到一个充满更多可能性的世界。


我们利用基于事务的模型来处理通知、后端流程或者希望从事务中触发的任何其他内容。


发出事件只是第一步,接下来,我们需要确保事件的背后是什么。


需要不断在贡献者变更或创造事件的情形下思考,我们可以根据添加到生态系统的新贡献者或正在更新的现有成员来触发需要发生的事件


在我们的示例中,我们仍将使用上面的贡献者合约,我们假设在贡献者创建事件时,我们需要更新UI,事件可以利用适当的监听器在宽范围的下游操作上使用。


我们使用Javascript(Web3)通过客户端的本地或远程以太网节点与智能合约进行交互。为此,我们必须先创建一个变量来引用这个事件。我们可以在下面添加前端代码:


var contributorEvent = ContributorContract.Contributor();


变量定义完成之后,利用回调函数在contributorEvent上使用.watch()方法。


contributorEvent.watch(function(error, result){

   if (!error)

       {

         // update UI

       } else {

         // sit in corner and cry

           console.log(error);

       }

});


在运行不报错的情况下,我们根据需要随时进行UI更新。这方面的基本示例包括隐藏、显示或更新页面的不同元素。至此,就搭建好了链上和链下交流之间的桥梁。


通过以上流程,我们就完成了链上交易与非链服务交互的基本操作,我们就可以设计出基于任意事件的一系列功能,比如,添加新的贡献者、补偿项目贡献者和获取事件通知等。


沟通的演变始于50万年前语言的起源从那个时候开始,我们一步一步将信息交流变得更加动态、更加高效和更加流畅。


借助智能合约,我们时刻接收、理解和反馈现实世界和数字世界中存在的信息,这种工作方式是及时的、自由的和高效的。也许未来,你并不需要走出家门,就可以完成多个职位的工作,完美实现自己的人生价值。




原文链接:

https://medium.com/blackboxtoken/future-of-work-connecting-the-real-and-digital-worlds-via-smart-contract-events-7d924a21d22d


资源网站:

https://github.com/ethereum/wiki/wiki/Javascript-API#watch-callback-return-value


http://solidity.readthedocs.io/en/latest/contracts.html#events


https://en.wikipedia.org/wiki/History_of_communication


https://coursetro.com/posts/code/100/Solidity-Events-Tutorial---Using-Web3.js-to-Listen-for-Smart-Contract-Events


https://medium.com/hello-sugoi/ethereum-communicating-with-the-off-chain-world-789fea13163b


最新热文:

  • 80万年薪挖不来一个区块链工程师的背后,传统IT人转型意愿高达80%,转型潮却远未到来...

  • 以太坊爆发空前燃料危机,交易费高达5862个ETH,罪魁祸首竟是FCoin!

  • 两年洗钱80亿,交易所是黑客洗钱幕后推手还是受害者?

  • 移情拜占庭:区块链与数字加密货币将如何改变科幻小说创作?


640?wx_fmt=png

扫码加入区块链大本营读者群,群满加微信 qk15732632926 入群



640?wx_fmt=gif



了解更多区块链技术及应用内容

敬请关注:

640?wx_fmt=gif


推荐阅读
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • JavaScript设计模式之策略模式(Strategy Pattern)的优势及应用
    本文介绍了JavaScript设计模式之策略模式(Strategy Pattern)的定义和优势,策略模式可以避免代码中的多重判断条件,体现了开放-封闭原则。同时,策略模式的应用可以使系统的算法重复利用,避免复制粘贴。然而,策略模式也会增加策略类的数量,违反最少知识原则,需要了解各种策略类才能更好地应用于业务中。本文还以员工年终奖的计算为例,说明了策略模式的应用场景和实现方式。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
author-avatar
yatho802_201
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有