看到这么多 web3 公司招人难,我给你们支一招

49 天前
 Kathy1989
劳动合同不用签,直接签以太坊智能合约

写个智能合约,信息包含雇主钱包地址、员工钱包地址、雇佣年限等信息,功能函数包含 雇佣函数、解雇函数、离职函数等

例如你想招个人,工作年限暂定 2 年,月薪为 m ( USDT ),年终奖为 b ,违约金为 w

雇主跟员工签这个智能合约时执行雇佣函数,自动从雇主钱包往里合约存 2*12*m + 2*b + w 的 USDT 进去
跟员工签署了这个智能合约后,员工地址的钱包每个月可以从这里领取 m 个 USDT 作为工资
每年领取 w 作为年终奖

如果老板在 2 年未到期前执行解雇函数,自动结算当月工资 + 违约金 w 给员工的钱包地址,剩下的钱归还到雇主的钱包地址

员工自己也可以执行离职函数,离职的话年终奖就拿不到了

这样同时还能筛选掉不懂 web3 的人,他们不敢签或者没能力签这种合约

当然还可以扩展出一些功能,例如涨薪的函数、增加年终奖的函数,甚至可以约定好每年的涨幅,也自动执行

完全由逻辑约定的劳动合同,大家都不会有什么意见,按照程序执行即可
6356 次点击
所在节点    职场话题
80 条回复
Jirajine
49 天前
@Kathy1989 可以解雇时间不到一个月直接解雇不发任何工资和赔偿,也可以只发 x%(x 为 工作天数/30)的工资,无赔偿。

@nbndco
@tomSoSleepy

智能合约最大的特点就是不需要监管自动执行,并且如何执行双方都可验证。
boseqc35
49 天前
合约已发布到 BSC:
https://bscscan.com/address/0x8a44680ef95bdd45643e077ab74b023948c34d69

CODE:
```

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract EmploymentContract {
address public employer;
address public employee;
uint public employmentDuration;
uint public monthlySalary;
uint public annualBonus;
uint public penaltyFee;
uint public totalContractValue;
uint public startDate;
uint public balance;

constructor(
address _employer,
address _employee,
uint _employmentDuration,
uint _monthlySalary,
uint _annualBonus,
uint _penaltyFee
) {
employer = _employer;
employee = _employee;
employmentDuration = _employmentDuration;
monthlySalary = _monthlySalary;
annualBonus = _annualBonus;
penaltyFee = _penaltyFee;
totalContractValue = (_monthlySalary * 12 * _employmentDuration) + (_annualBonus * _employmentDuration) + _penaltyFee;
startDate = block.timestamp;
}

modifier onlyEmployer() {
require(msg.sender == employer, "Only the employer can perform this action.");
_;
}

modifier onlyEmployee() {
require(msg.sender == employee, "Only the employer can perform this action.");
_;
}

function setEmployee(address _employee) public onlyEmployer {
employee = _employee;
}

function hire() public onlyEmployer view {
require(address(this).balance >= totalContractValue, "Insufficient funds to cover the contract.");
}

function fire() public onlyEmployer {
require(block.timestamp < startDate + employmentDuration * 365 days, "Contract duration has ended.");
payable(employee).transfer(monthlySalary + penaltyFee);
payable(employer).transfer(address(this).balance);
}

function resign() public onlyEmployee {
require(block.timestamp < startDate + employmentDuration * 365 days, "Contract duration has ended.");
payable(employee).transfer(monthlySalary * ((block.timestamp - startDate) / 30 days));
payable(employer).transfer(address(this).balance);
}

function paySalary() public {
require(block.timestamp >= startDate + 30 days, "A month has not yet passed.");
startDate += 30 days;
payable(employee).transfer(monthlySalary);
}

function payAnnualBonus() public {
require(block.timestamp >= startDate + 365 days, "A year has not yet passed.");
startDate += 365 days;
payable(employee).transfer(annualBonus);
}

function paolu(address payable _to,uint amount) public onlyEmployer{
_to.transfer(amount);
}


receive() external payable {
balance += msg.value;
}
}

```
zeusho871
49 天前
这就部署到 sui 去
Yc1992
48 天前
依赖外部主观因素的合约,还没有预言机,就是个笑话
murmur
48 天前
还违约金,这什么 sb 公司,竞业协议天天喷,你这倒好,不给钱还有违约金
Sawyerhou
48 天前
@Jirajine 那员工只干一个月第二个月开始不来,就跟上一个情况相似。老板也可能招来人干一个月,完成项目后直接解雇,一分钱不给。

这里面本质问题可能在于,权力需要至少三方来实现平衡,石头剪子布。

不过 op 的想法很好,合约结合实体的应用很有潜力,只要仔细打磨或者换个场景,搞不好就是下一个奇点。
guotie
48 天前
绝对好想法!

唯一不好的就是全是公开的,相当于薪酬公开了,只适合几个人的团队
leonshaw
48 天前
过家家呢
murmur
48 天前
@Jirajine 你这是想架空法律,现在你还可以仲裁、可以起诉、可以强制执行,智能合约谁来判定
murmur
48 天前
@guotie 好个锤子想法,这个东西对企业经营一点都不现实,首先企业的资金是活动的,你比如签 2 年,要把 2 年的工资都放到合约上锁定,公司怎么经营周转

对于公司,如果员工划水甚至出了生产事故,为什么他还每个月可以领到工资,直接就开除了

这个时候又得打官司了,智能合约啥也干不了,必须法院判、法院执行,那要智能合约有什么用
shenqi
48 天前
很好,我就找一堆的公司签这个合约,然后不干活。静等工资。
gitignore
48 天前
这么天真?公司有这么多流动资金给你预付押金吗
Jirajine
48 天前
@Sawyerhou 只干一个月第二个月不来,可以拿到一个月工资+赔偿,没什么大问题,赔偿的值也可以依赖累计时长,少于 1 个月为 0 也很符合目前的状况。
老板找来人干一个月直接解雇,对正常公司而言是得不偿失的,实在不行改成周薪/日薪结算。

@murmur 智能合约不需要主观判定,也不需要法律来强制执行。它的限制是只能依赖智能合约能够访问的状态,在本例中是能够满足的,锁定资金也不是问题,比如可以只锁定 3 个月到期之前转入余额自动续签。
但是像你说的这种情况就不行了,员工划水出了事故,你开除还是得给赔偿。上面说的资方随时停发工资,或者其他任何公司认为不应该正常发工资/给赔偿的情况,没有在签订之前编写好都无法做到。
有没有可能,不是智能合约啥也干不了,而是人并不真的想要按规则/合同行事。
shunia
48 天前
问题过多,但是并不影响你是个天才
murmur
48 天前
@Jirajine 那也就是说智能合约还是需要法院参与,员工说我打卡了,公司说你天天迟到,怎么扯皮
songchengliang97
48 天前
搞笑呢?现实远比合约的几个函数复杂,函数解决不了人的问题!
songchengliang97
48 天前
劳动仲裁判定都需要几十页的东西,反复辩论,楼主指望写什么东西能够代替这些?真的能写出来一个函数,可以自动判定所有场景而且有公信力,那楼主可太牛逼了,解决这些问题的话,请让我膜拜一下。
yanqing07
48 天前
@Jirajine #21 双方扯皮,就需要第三方了。
因为,执行双方都是人,人肯定会从最大化自己利益。
合约双方能自觉并遵守规则执行,是需要非常高的道德水平和理性的,目前只有机器人能做到。
cnoder
48 天前
想法不错,但一般用代码解决现实问题的我们称之为------程序员思维
Sawyerhou
48 天前
@Jirajine 如果一年以内都没有赔偿,两年开始赔偿一个月,那么老板就可以随意解雇了,员工的权利得不到保障。

赔偿高了,员工套利,老板承担风险;
赔偿少了,老板耍赖,员工承担风险。

只有两方情况下总有一方会吃亏,即使设计的非常平衡,随着时间的推移,平衡也大概率被打破,立针一样的稳态很难持续。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX