This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
asdf is a version manager that allows you to manage multiple runtime versions. Here’s how you can set it up:
Install asdf by following the official installation guide.
Install the asdf Python plugin, which will enable you to manage Python versions with asdf. You can find the plugin on GitHub: asdf-python.
After setting up asdf and install many Python versions, you can list the available Python versions using the following command:
1 | asdf list python |
This will display a list of installed Python versions, and the currently selected version will be marked with an asterisk (*).
For example the list in my macOS
1 | asdf list python |
Poetry is a dependency and package management tool for Python projects. Here’s how to set it up:
Note: If you use the fish
shell, be aware that there might be completion issues with Poetry as of September 13, 2023.
Now that both asdf and Poetry are set up, let’s create a Python project with Poetry and specify the Python version for the project.
poetry-demo-py39
and set the Python version to 3.9.17:1 | poetry new poetry-demo-py39 |
1 | cd poetry-demo-py39/ |
pyproject.toml
Open the pyproject.toml
file in your favorite text editor. This file defines project metadata and dependencies. Modify it to specify the desired Python version:
1 | [tool.poetry] |
Use asdf to set the local Python version to 3.9.17. This ensures that the project uses the specified Python version:
1 | asdf local python 3.9.17 |
Next, set up the Poetry environment to align with the selected Python version:
1 | poetry env use 3.9.17 |
This command creates a virtual environment for your project based on the specified Python version.
To verify that everything is working correctly, enter the Poetry shell:
1 | poetry shell |
You should now be in a shell with the correct Python version:
1 | Python 3.9.17 |
Congratulations! You’ve successfully set up your Python project to use a specific Python version with asdf and Poetry.
Managing Python versions in your projects is essential for maintaining compatibility and ensuring that your code runs smoothly. With the help of asdf and Poetry, you can easily switch between Python versions and create isolated environments for your projects. This approach improves the stability and maintainability of your Python development workflow.
Now that you have the tools and knowledge, go ahead and enjoy hassle-free Python version management with asdf and Poetry!
]]>https://www.roymorgan.com/findings/9332-nz-national-voting-intention-august-2023
Labour 工党解读
Greens 绿党解读
National
Act NZ
并且总结以下方面
本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.
可以在官网 Vote NZ 学习到投票的所有需要的基本知识。做的简单易懂,我就不过多介绍了。
投票时间是 2023 年 10 月 2 日 到 2023 年 10 月 14 日。
我建议只要你有投票资格,请你一定要投票支持你认可的党派。这是为了新西兰,也是为了你自己。
行动党官网 https://www.act.org.nz/
官网介绍:
avid 在 Whangarei 和两个年幼的弟弟一起长大,他的父母分别是一名药剂师和一名绘图员。作为一名十几岁的少年,他搬到奥克兰上高中,后来从奥克兰大学(University of Auckland)毕业,主修电气工程和哲学。
在从政之前,David 曾在新西兰担任电气工程师,还曾在加拿大的私营部门智囊团工作。自 2014 年以来,他一直担任 ACT 党领袖和 Epsom 选区的议员。在政府中,他负责监管改革和特许学校。在反对派期间,他通过了《生命终结选择法》。
他无畏而坚定,以为选民发声而闻名,如果必要,他也会对抗其他政党。他曾两次被评为年度国会议员,并被称为“唯一说得清楚的人”,这种评价数不胜数。
https://en.wikipedia.org/wiki/David_Seymour_(New_Zealand_politician)
David Seymour(大卫·西莫)是一位新西兰政治家,自 2014 年以来一直担任 Epsom 选区的国会议员(MP)以及 ACT 新西兰党的领袖。他在奥克兰大学获得了工程学士和文学士学位,曾在加拿大从事公共政策工作。他于 2014 年进入国会,成为 ACT 党的唯一国会议员,并在此后当选为党的领袖。他在 2017 年获得连任,并在 2020 年大选中带领 ACT 党取得了历史上最佳的选举结果,赢得了十个席位。
西莫担任 ACT 党领袖后,积极支持自由主义社会政策,如支持安乐死合法化,并提出相关法案。他还在多次电视节目中亮相,包括《与明星共舞》。他的政治立场倾向自由主义,强调个人自由和自由市场。
此外,西莫在国会中担任过一些职务,如教育部和监管改革部的国会次部长,并支持特许(合作伙伴)学校政策。他还在堕胎立法、枪支控制和共同治理等问题上表达了自己的观点。
西莫的个人背景包括毛利血统,并且他在政治上一直支持 ACT 新西兰党。他也是一位社会活动家,曾在 2019-2020 年香港抗议活动中捍卫亲民主抗议者的权利。不过,他也曾因言论而引发争议,如在关于仇恨言论法和疫苗接种问题上的发言。总之,西莫是新西兰政治中的重要人物,他的观点和行动在国内政治中引起了广泛关注。
在这个页面
一共能看见 61 个人。
2 号人物 Brooke van Velden,官网显示在企业里面工作过。
真正的变革意味着政府通过高效和有效的支出来尊重纳税人。
自 2017 年以来,工党已将政府支出增加了 70%。其中大部分是浪费或目标不明确的支出,助推了通货膨胀和生活成本的上升。
尽管支出大幅增加,但许多政府服务实际上却越来越差。
在工党执政期间,纳税人的钱被碌碌无为的官僚们浪费掉了,包括在以下方面:
浪费了价值 5 亿纽币的快速抗原测试耗资 5000 万纽币调查一座不知通往何处的自行车桥每年超过 3.8 亿纽币的第一年免学费每年 15 亿纽币的企业福利公共服务规模增加 30 %
行动党经过全面成本核算的替代预算在四年内减少了 380 亿纽币的开支,但不会触及一线服务。
行动党将
将公共服务规模缩减至 2017 年的水平废除浪费和无效的计划,如清洁汽车折扣和气候应急基金支出废除人口部委结束企业福利政策
真正的改变意味着将受害者放在第一位并追究罪犯的责任。
犯罪已经失控。 拉姆袭击、帮派暴力、砸抢、枪支犯罪。 新西兰人已经受够了。
工党:
设定减少监狱人数的目标,但不减少受害人数 废除首都领地的三击法,该法禁止最严重的暴力犯罪分子上街 发现帮派数量的增长速度是警察数量的两倍以上 促进了抓捕后释放的青少年司法系统,不对许多青少年罪犯造成任何后果
工党向犯罪分子发出了明确的信息,即他们不相信令人憎恶的犯罪行为会产生后果,从而创造了一种无法无天的文化。 在工党统治下,受害者感到被遗忘,犯罪分子感到被赋予权力。
我们社区中的犯罪行为需要迅速而严重的后果。
没有哪个政党比行动党发布了更多的打击犯罪政策。
行动党将:
通过增加监狱床位数量来投资更安全的社区 恢复“三击”,让最严重的再犯罪者远离街头 建造 200 个新的青少年司法床位,由惩教署而非 Oranga Tamariki 管理,提供关押严重青少年罪犯的能力 让税务局打击帮派,就像他们抓到阿尔·卡彭一样 限制电子保释的使用,同时放弃减少监狱人数的目标 监狱重点改造文盲、数不清的囚犯,打破再犯罪循环
真正的改变意味着为所有新西兰人制定一套法律。
行动党表示,任何人都不应因其祖先而受到不同的对待。
新西兰正在转变为一个你的权利取决于你的祖先是谁的国家。
我们正处于宪法的十字路口。 一个方向是自由民主,这是我们所熟知的国家赖以建立的熟悉模式。 另一个方向是共治,即一个民族与所有其他民族之间分享权力的规定。
工党正在通过一系列法律推动其共同治理议程:
毛利人卫生局表示,医疗保健将根据种族而不是需求来优先考虑。
三水改革仍包括集中水务 50:50 共治。
Ngāi Tahu 可以任命两名有投票权的成员加入民主的坎特伯雷地区委员会。
法律要求 Oranga Tamariki 在做出有关国家照顾的毛利儿童的决定时遵守该条约。
种族被用来优先考虑甚至限制获得医疗服务的机会。
行动党认为,新西兰必须继续成为一个自豪的、多种族的自由民主国家,我们所有人都享有相同的权利和尊严。
行动党将做出三项重大改变来改变新西兰的宪法进程:
通过议会通过《条约原则法案》,并将其提交全民公投以供人民确认,明确界定“怀唐伊条约原则”,这一术语日益被创造性地解释为共同治理的合理性。 扭转基于种族的政策,例如“三水”、毛利卫生当局、不民主的地方政府代表权以及需要基于种族进行协商的资源管理法。 基于可靠的数据,而不是基于懒惰的种族定位,重新调整公共服务的目标需求。
行动党的愿景是建立一个没有人因祖先身份而受到区别对待的社会。
真正的改变意味着每个孩子都能上学并接受世界一流的教育。
良好的教育是确保新西兰孩子成长为对社会有贡献的成员并过上充实生活的最佳途径。
新西兰令人自豪的教育成就历史正在走下坡路,因为孩子们不再上课,标准也全面降低。
2022 年第二学期,60% 的学生没有定期上课。 情况变得更糟,只有 23% 的 Decile 1 学生定期上课。 在北地,只有 28% 的学生定期上课。
这是一场逃学危机。 一个人成年生活的几乎每个方面都将由他们小时候接受的教育来定义。 如果我们想要更好的社会成果,我们需要真正的解决方案。
教师们还被告知要关注除了算术和识字基础知识之外的所有事情,任何形式的教育选择都会被那些想要一刀切的体系的官僚们扼杀。
良好的教育是确保新西兰孩子成长为对社会有贡献的成员并过上充实生活的最佳途径。
设立每年 2.5 亿纽币的卓越教学奖励基金,以奖励课堂上的卓越表现、鼓励专业发展并提供更好的教育成果 确保每日进行全国出勤报告,学校强制报告 创建一个红绿灯系统,规定并要求对持续逃学采取行动 通过为逃学官员提供直接资助,使学校能够处理逃学问题 将教育部后台官员的数量减少 50%,每年节省 2.4 亿纽币。 我们会把这笔钱重新投入到一线教育中 为每个孩子提供一个终身学习账户。 家长可以在任何接受孩子入学的注册教育机构(公立或私立)使用它 允许任何公立学校申请成为合作学校,增加我们教育系统的选择
真正的改变意味着向繁文缛节发起一场战争。
行动党将彻底改变政府监管新西兰的方式,以提高生产力、提高工人工资并降低物价。
新西兰深受各国政府引入的繁文缛节所困扰,这些政府本能地通过了法律。
我们的许多问题都可以追溯到生产力低下,而生产力低下又可以追溯到监管不力。 几乎在每个行业,我们都听到抱怨繁文缛节增加了合规成本,并因停止生产活动而错失了机会。 我们的 8 号线文化正在逐渐被侵蚀,因为人们发现少做事更有吸引力。
但并没有认真尝试处理繁文缛节。 好的监管做得不好,国会议员和媒体也很少关注。 结果,部长和官僚们几乎没有动力进行负责任的监管,我们的生产性经济也因此受到影响。
行动党将彻底改变政府监管新西兰的方式,以提高生产力、提高工人工资并降低物价。
行动党提议设立新的部长和监管部来控制监管的影响,例如财政部长控制对新西兰人征税的资金供应。
部长和部委将确保新的和现有的法规符合严格的新标准,并将消除繁文缛节。
部长和部委的主要职能是:
评估新法规并就是否通过法律提出建议。 审查现有的繁文缛节,并提出消除多余规则和法规的法律建议。
需要这些提案来让部长和部门对规范新西兰人的生活负责。
真正的改变意味着对工作的新西兰人来说,税收将得到大幅减免。
当这么多人陷入困境时,当政客们浪费这么多税收时,政府征收这么多税收是错误的。
工党痴迷于分配财富,而不是创造财富。 它所缴纳的税款比以往任何时候都多。
所得税制度必须奖励成功,传达这样一个信息:如果你努力工作并且表现出色,你就可以保留更多自己的钱。
行动党的税收计划将为每个收入者提供减税。
行动党将使新西兰的收入税率从五种降至两种:17.5% 和 28%。
这些变化,加上中低收入税收抵免和碳税退税,意味着每个工人都将根据行动党的计划获得税收减免。
一对有两个孩子的夫妇的家庭平均收入每年会增加 1,540 纽币。
一名年收入 70,000 纽币、有一个孩子的护士将获得约 2,300 纽币的税收减免。
一对有两个孩子的夫妇,两位老师的收入都是 6 万纽币,每年的收入将增加 990 纽币。 如果他们每人获得平均教学卓越奖金,家庭收入将额外增加 7,000 纽币。
真正的改变意味着给予新西兰农村应有的尊重。
通过正确的方法和 行动党的实际解决方案,我们可以再次将农村部门视为经济的重要且有价值的部分。
工党和绿党相信他们最了解情况,他们的官僚主义和繁文缛节正在压垮农村地区。
农民们在工党统治下度过了炎热的六年。 他们不得不忍受惠灵顿官僚们的大量监管和繁文缛节,政府试图通过实施排放定价计划来将他们献祭给气候之神,而该计划只会将生产转移到效率较低的国家 。
淡水法规、冬季放牧规则、限制农民工、重要自然区域、对货车征税以及不公平排放税的威胁导致农民信心直线下降。 这些误导性的政策影响到我们所有人,因为人们生产粮食越困难,购买粮食的成本就越高。
通过正确的方法和 行动党的实际解决方案,我们可以再次将农村部门视为经济的重要且有价值的部分。
行动党从第一天起就反对 He Waka Eke Noa。 我们知道新西兰农民是世界上排放效率最高的国家,我们致力于开发一种系统,降低我们产品的排放强度,同时确保生产不会转移到海外。
我们将从惠灵顿官僚手中夺取淡水法规,并将其交还给地区议会和当地社区。
行动党是唯一反对《零碳法案》的政党,我们也是唯一提议废除该法案的政党。
我们将放弃“三水”计划——我们提出了一项不同的水基础设施计划,该计划将水资产返还给地方议会,同时支持基础设施所需的投资。
重要的自然区域将被废弃,恢复私有财产权。
行动党将废除 ute 税。
真正的改变意味着新西兰人获得更好的健康成果。
行动党将减少繁文缛节、增加卫生人力并投资卫生基础设施,以便新西兰人能够获得所需的医疗保健。
新西兰的卫生系统正处于危机之中。 急诊科人满为患,病人在候补名单上苦苦挣扎,看医生比以往任何时候都更加困难。
政府没有解决我们医疗保健系统中的根本问题,而是专注于烧掉数十亿纽币来洗牌、重组和创建分裂且低效的毛利卫生局。 它专注于该条约,而没有提出基本问题,例如“这个最新想法能否为更多患者提供更好、更快的治疗?”。
统计数据显示,过去 12 个月,新西兰每个地区都处于“红色”状态,因为“患者等待第一次专科预约的时间超过了规定的时间”和“患者承诺接受治疗但未在规定的时间内接受治疗” 框架’。
卫生人力危机以及破旧的医院和设施威胁着我们的卫生系统。 如果不解决这些根本问题,情况就如同一颗定时炸弹。
行动党将减少繁文缛节、增加卫生人力并投资卫生基础设施,以便新西兰人能够在需要时获得所需的医疗保健。
将全科医生资助增加 13%,相当于每年 250 万名全科医生就诊 为在类似海外司法管辖区接受培训的医生在新西兰执业创造一条更简单的途径。 目前,即使是哈佛大学的顶级医生也必须接受6-18个月的监督才能被允许独立执业 使医师助理能够承担不太复杂的任务,以减轻全科医生的压力 赋予卫生部长超越不必要的繁文缛节和官僚主义的能力 通过对未来需求的智能预测来提高医疗保健系统的弹性,改进当前的简单化模型 建立新西兰心理健康与成瘾协会,这是一个全国性的独立机构,使患者能够在一系列提供者之间进行选择,而不是简单地接受新西兰健康局提供的服务 行动党将与大型全球基础设施开发商和投资者建立公私合作伙伴关系 (PPP),以建设和升级我们的医院和医疗保健设施
在看完国家党的 Plan 后,我快速的浏览了行动党,毛利党和优先党的网站。怎么说呢,我认为只有国家党在认真仔细的准备新西兰的未来。工党本次选举几乎是放弃了。不对放弃都不算,就差写在脸上求求你们不要投我了,我不知道怎么把一个国家给弄好。哪怕是行动党做了一个单独的网站来宣扬他们的计划,在我目前看来也只是比工党略详细一丢丢的口号而已。至少现在我来看,除了国家党认真的做了一份作业以外,其他的党派感觉就像在过家家喊口号。这种情况下,都无法去对比哪家的作业好。
在工党如此业余儿戏加上能力低下的情况下,新西兰还是运行了 6 年没有出现巨大动荡,哪怕各种问题,整个社会还是维持了基本运转,为什么呢?我跟媳妇简单的讨论过,我认为是新西兰运行框架是英国已经搭建好了的,大坑英国已经趟过了。这个大框架是符合一个现代文明社会的,哪怕是上了一个无能的政府,在这个大框架不变和新西兰的巨大部分人的社会共识下,新西兰保持一个相对良好的运转情况。
]]>Labour 工党解读
Greens 绿党解读
National
Act NZ
并且总结以下方面
本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.
可以在官网 Vote NZ 学习到投票的所有需要的基本知识。做的简单易懂,我就不过多介绍了。
投票时间是 2023 年 10 月 2 日 到 2023 年 10 月 14 日。
我建议只要你有投票资格,请你一定要投票支持你认可的党派。这是为了新西兰,也是为了你自己。
国家党官网 https://www.national.org.nz/
官网介绍:
克里斯托弗·卢克森是一位商人、父亲和自豪的新西兰人,拥有丰富的全球企业高层领导经验。
他出生在基督城,在奥克兰的豪威克(Howick)长大,就读于当地的博特尼学校,包括科克尔贝基础小学和豪威克学院。他在 1989 年至 1992 年期间在坎特伯雷大学获得了商业管理学士和硕士学位。
毕业后,卢克森先生在联合利华(Unilever)工作了 18 年,取得了成功,先后在新西兰和全球各地工作,最后在多伦多担任联合利华加拿大的总裁兼首席执行官。
2011 年,他回到新西兰,被任命为新西兰航空公司(Air New Zealand)的首席执行官。在他的领导下,该公司取得了历史性的利润,客户满意度得到了创纪录的提高,员工参与度也达到了最高水平。
克里斯托弗曾获得多项商业奖项,包括彼得·布雷克领袖奖和德勤年度首席执行官奖。除了企业职务,他还担任过总理的商业咨询委员会主席,并担任国际援助组织新西兰撕裂基金会(Tearfund New Zealand)的副主席和受托人。
克里斯托弗与阿曼达结为夫妇,他们一起与两个孩子居住在奥克兰。
https://en.wikipedia.org/wiki/Christopher_Luxon
克里斯托弗·马克·卢克森是新西兰国家党的领袖,他被视为社会保守和经济新自由主义政策的代表。他反对堕胎,但已表示不会改变新西兰的堕胎法律。卢克森还支持医用大麻和反对合法化娱乐大麻。他的政策立场被认为是右翼,但也引发了争议,尤其是在堕胎和其他社会议题上。卢克森领导的国家党在民意调查中的支持率一直较低,他的个人支持率也不高,尤其是与现任总理克里斯·希普金斯相比。卢克森的政策观点和党内立场在堕胎问题上引发了广泛争议,但他已明确表示不会试图改变新西兰的堕胎法律。
53 岁,看起来精力充沛。 有优秀的工作履历,担任过国际大公司的扛把子还是两家。工作了多个国家肯定见的世界更加广阔。民调上不去感觉跟他是富人的背景有关,另外 wiki 上对反对堕胎这个事情有大量描写,说明在堕胎上他的反对态度变得具有争议,也导致了一些人的不喜欢。我目前没啥特别感受,后面看看辩论吧。
在这个页面
一共能看见 75 个人。
2 号人物 Nicola Willis,曾经工作在 Fonterra 做到高管。大学时代是个优秀的辩论者。
https://www.national.org.nz/plan
国家党提出了以下应对通货膨胀的五点计划:
新西兰应该是一个你只要努力工作就能有所作为的国家。但在工党多年的经济管理失误之后,再加上两年的猛烈通货膨胀、利率大幅上涨和经济萎缩,大多数新西兰人都在退步。
特别是中产阶级正被抛在一边。这些是新西兰人,他们努力工作,有时要兼顾多份工作和家庭责任,但通货膨胀和高税率正在侵蚀他们的收入。
国民党的口袋提振税收减免计划将增加中产阶级的税后收入,使一个有孩子的平均收入为 12 万新西兰元的家庭每两周多出 250 新西兰元,而一个没有孩子的平均收入家庭每两周多出 100 新西兰元。
国民党的口袋提振计划将从 2024 年 7 月 1 日起增加中产阶级的税后收入,具体措施包括:
调整所得税分档以抵消通货膨胀扩大税收抵免,以覆盖更多的低收入人群推出FamilyBoost儿童托育税收抵免增加工作家庭的Working for Families税收抵免(从2024年4月1日起)。
在国民党的口袋提振计划下,新西兰人将更富裕:
一个有孩子的平均收入家庭每两周多出高达250新西兰元一个没有孩子的平均收入家庭每两周多出高达100新西兰元一个全职最低工资收入者每两周多出高达20新西兰元,并降低其额外工作时支付的税款一个养老金领取夫妇每两周多出高达26新西兰元。
我们的计划精心针对,以确保最大受益的人是努力工作的新西兰人。他们终于可以从工党的生活成本危机中得到一些缓解,国民党将为他们提供这一帮助。
国民党的审慎、全面资金支持和平衡税收计划还通过取消一些当前和计划中的汽油税以及降低租赁物业的税款,减轻了工薪阶层所面临的重大成本压力。这些税款导致租金上涨。
我们将撤销工党将亮线测试的延长期限从不合理的 10 年(导致父母投资房地产的人被视为投机者)恢复到 2 年,恢复对租赁物业的利息扣除以减轻租金压力,并取消对常用数字服务(如食品送货应用程序)的新税款。
这一计划与我们的更广泛计划并行,旨在重建和发展经济,以降低通货膨胀率和利率,也将帮助新西兰人。国民党将恢复政府支出的纪律,减少对企业的繁文缛节,建设支持增长所需的基础设施,包括 13 个全国重要道路和四个重大公共交通项目,并提供支持增长经济所需的教育和技能。
工党的挥霍支出和经济管理不善正在推动生活成本危机,使新西兰人倒退。有年幼子女的家庭和托儿费用尤其脆弱,因为他们的家庭预算变得越来越紧张。
当家庭预算在各个方面都受到挤压时,父母被迫做出他们不应该做出的牺牲。
国家党有一个支持计划。
我们的计划
为了支持承受生活成本危机冲击的新西兰家庭,国家党将引入 FamilyBoost - 托儿税收抵免,最高可达每周 75 纽币的托儿费用。
这意味着超过 130,000 个低收入和中等收入家庭每年可以保留多达 3,900 纽币的收入。
它是如何工作的
家庭收入高达 180,000 纽币的家庭将获得其早期儿童教育费用的 25%抵免,最高每两周直接支付到他们的银行账户中。
我的抵免会是多少?
所有托儿费用高达 180,000 纽币的家庭都有资格。然而,为了确保支持最需要的家庭,每周最高抵免将逐渐减少,对于收入超过 140,000 纽币的家庭。对于收入分别为 150,000 纽币,160,000 纽币和 170,000 纽币的家庭,最高每周抵免分别为 56.25 纽币,37.50 纽币和 18.75 纽币。
在一个对犯罪软弱的工党政府下,新西兰人在自己的社区中感到不安全。黑帮的招募速度比警察还要快,而政府已经否决了国家党提出的 10 项旨在保障新西兰人安全的法案。工党的方法是在边缘处小修小补,忽视了那些会直接打击黑帮的解决方案。
国家党是法治和秩序的党派,在执政期间,将通过赋予警察一系列新的权力来瓦解和打击黑帮犯罪。
我们的计划
国家党已经在政府建筑物如学校和医院中制定了这项法律。我们将扩展这些规定到所有公共空间。这些标志旨在威吓守法的新西兰人,只有犯下暴力犯罪的人才能获得,以显示对黑帮的忠诚。
警察将有权向任何他们合理怀疑是黑帮成员或候选人的人发出驱散通知。一旦发出,黑帮成员将被要求立即离开公共区域,且在公共场合不得与其他黑帮成员交往七天。
黑帮犯罪不是偶然发生的,它们是有计划和组织的。如果警察需要阻止已知的黑帮罪犯犯下严重罪行,他们将有权发出禁止交往通知。一旦发出,这些黑帮成员将在未来三年内不得互相交往或沟通。
国家党将赋予警察颁发火器禁令的权力。这可以针对过去 10 年内被判有重大罪行的任何黑帮成员颁发,使其无法合法获得枪支或进入某些存在枪支的场所。警察将有权在任何时候搜查受火器禁令约束的人,并搜查他们的住所或车辆以查找枪支。
国民党将打击像撞店抢劫犯这样的严重多次青少年犯罪分子,以改变他们的生活轨迹并保护公众安全。
每 15 小时发生一起撞店抢劫事件表明工党对犯罪的软性态度是失败的。
够了,国民党将确保年轻罪犯为自己的行为承担后果。
国民党的打击青少年犯罪计划针对最严重的多次青少年犯罪分子,将通过剥夺犯罪的幕后操纵者(其中一些有帮派关系)来打击撞店抢劫等犯罪。具体措施包括:
针对严重多次犯罪分子
国民党将创建一个新的“年轻严重罪犯”(YSO)类别,针对像撞店抢劫等犯罪的幕后操纵者。适用对象为 10 至 17 岁的犯罪分子,他们至少犯有两次严重犯罪,例如撞店抢劫、其他加重入室行窃或严重袭击。
后果将包括被送到年轻罪犯军事学院、电子监控或被安排接受社区内的密集监管。
创建年轻罪犯军事学院
国民党将创建年轻罪犯军事学院,其中 15 至 17 岁的 YSO 可以被送去接受长达 12 个月的教育。这些学院将提供纪律、辅导和密集康复,以对这些年轻罪犯的生活进行决定性的干预。这些学院将与国防军合作以及其他提供者。
支持警方打击帮派
一些严重的青少年犯罪是由帮派推动的。年轻人为了帮派入会而实施有计划的盗窃和撞店抢劫。正如此前宣布的,国民党将赋予警方更大的权力来打击帮派,包括禁止佩戴标志和阻止帮派成员在公共场所聚集。
支持社区团体打破犯罪循环
国民党将资助社区组织和其他非政府机构来打破犯罪循环。一些 YSO 将被要求接受社区组织的密集监管。这意味着他们要为自己的行为承担后果,并获得改变生活轨迹的工具,同时保持与家庭的联系。
新西兰的青少年司法体系在大多数年轻罪犯身上运作良好;与青少年司法体系接触的首次犯罪者中,80%能够迅速得到处理并重新回到正确的轨道上。
但对于严重犯罪分子,工党目前的做法是束手无策,无所作为。这不利于在凌晨 2 点接到电话,说有辆车撞破他们的商店,然后遭到抢劫的商业店主。这也不能帮助那些生活注定充满混乱和不幸的罪犯,除非有一个改变生活轨迹的契机。
国民党是法治和秩序的党派。国民党将确保严重的年轻罪犯为自己的行为承担后果。
国家党将加强对犯罪的后果,增加对受害者的支持,并确保羁押犯人接受适当的康复。
国家党认为,每个新西兰人都应该在他们的家园、社区和工作场所感到安全。但在工党的领导下,我们的国家变得不太安全。
仅仅在五年内,暴力犯罪增加了 33%,黑帮组织的增长速度超过了警察,零售犯罪翻了一番。导致犯罪活动激增的一个因素是犯罪分子面临的后果过于温和。
工党的方法是旨在减少监狱人口 30%,但未能减少犯罪,这在根本上是错误的。
与工党不同,他们想要排空我们的监狱而不减少犯罪,国家党的首要任务是公共安全和受害者。
国家党将废除政府错误的目标,即将监狱人口减少 30%。相反,我们将专注于真正减少犯罪,认识到这是随着时间减少监狱人口的唯一安全途径。
国家党恢复犯罪的真正后果计划:
国家党将通过限制法官减轻刑罚的能力,将黑帮成员身份视为加重因素,恢复“三次打击”法,并结束对文化报告的纳税人资助,引入对被定罪的罪犯更严厉的刑罚。
国家党将通过增加资金拨款来支持受害者,以支持获得心理咨询、心理健康服务或在出席法庭听证会时的交通费用支持。
国家党将扩大对目前无法获得的羁押犯人提供基于犯罪的康复计划的资格。
国家党代表一个更安全的新西兰,犯罪分子将因其行为面临适当的后果。通过优先考虑公共安全并采取积极措施来减少犯罪,我们的目标是创造一个新西兰人可以再次在日常生活中感到安全的环境。
我们的教育系统正让太多孩子失望。国民党将确保学校出色地传授基础知识,以便每个孩子都有成功的机会。
新西兰的教育状况在过去 30 年里一直在下滑。只有 20%的八年级学生在科学方面达到课程要求,写作为 35%,数学为 45%。
最近一项有关 NCEA 识字和数学标准的试点显示,三分之二的高中学生未能达到 OECD 认为在进一步学习、生活和工作中取得成功所必需的最低水平。
我们的教育系统的无效性在低收入地区最为显著,只有 2%的学生在去第一级学校中能够通过基本写作测试,只有四分之一能够达到阅读标准。
我们的“出色地传授基础知识”计划将确保所有孩子都具备阅读、写作、数学和科学所需的知识和技能,为他们的成功打下基础。
在国民党的领导下,父母将了解自己的孩子是否表现良好,或者更重要的是,是否在落后。让孩子在没有人察觉或采取行动来帮助他们赶上的情况下落后是不可接受的。
每天阅读、写作和数学各一小时
国民党将要求所有小学和初级学校平均每天分别花费一小时阅读、一小时写作和一小时数学的时间。
目前,不同学校在传授基础知识方面花费的时间差异太大。这种不一致性会加剧最脆弱的儿童的不平等,并阻碍那些有可能被提升的孩子。
这关乎优先级。如果我们继续允许孩子在高中时还没有掌握基础知识,那么我们只是在为他们的失败铺平道路。
阅读、写作、数学和科学每年必须教授的最低要求
国民党将重新制定课程,明确规定小学和初级学校每年在阅读、写作、数学和科学方面需要涵盖的特定知识和技能。
成绩已经下降了 30 年。一个原因是新西兰课程过于宽泛。它没有清晰地列出孩子们应该在何时学习什么,而是侧重于“关键能力”,这些能力模糊、难以衡量,也难以报告。
在国民党的领导下,课程将明确规定每年必须传授给孩子的一套不可妥协的知识和技能。
定期标准化评估和明确向家长报告
国民党将在阅读、写作和数学方面在各个学校之间标准化评估。学校将被要求至少每年使用相同的严格评估工具,测量每个孩子的进展,以符合课程要求。
国民党还将要求以一种一致的格式定期报告,以便父母清楚地了解他们孩子的教育进展情况,他们可能需要更多帮助的地方,以及他们可以扩展的领域。
家长有权了解他们孩子的教育情况。如果我们甚至不愿意测量孩子的进展并向父母报告,那么我们就不能指望扭转下降的成绩。
提供更好的培训和更多支持教师的工具
国民党将为教育毕业生引入出口考试,以证明他们在阅读、写作、数学和科学教学方面具有专业知识,并要求现有教师接受教授基础知识的专业培训。
如果我们想提高学生的成绩,就必须投资于我们的教育队伍。有证据显示,一些教师安排较少的课堂时间用于像数学这样的基础课程,因为他们缺乏教授这些课程的信心。这是不可接受的。
国民党的“出色地传授基础知识”计划将为新西兰的每个孩子创造成功的机会,并将卓越恢复到教育体系的核心。
新西兰的医疗体系陷入了危机,护士和助产士严重短缺导致等待名单不断膨胀,难以获得治疗或产科护理,急诊科也过于拥挤。
新西兰没有培养足够多的护士和助产士来解决这一短缺问题,而我们培养出来的人才也受到积极而激烈的招聘,尤其是前往澳大利亚。
国家党将激励更多的新西兰人学习护士或助产士的职业,并将他们与毕业后至少五年内留在新西兰的工作绑定在一起。我们的计划还将通过使新西兰在全球护士和助产士的竞争中更具竞争力来解决目前的短缺问题。
国家党提供更多护士和助产士的计划包括:
激励鼓励更多新西兰人学习护理或助产学毕业后将护士和助产士留在新西兰的绑定通过竞争性的移民政策吸引更多海外护士和助产士
为什么需要新的方法
在工党执政的最近五年中,近 19,000 名护士离开了公共卫生系统。
工党没有紧急解决卫生工作力量危机,而是专注于重组官僚机构,而勤奋和敬业的卫生专业人员却为摇摇欲坠的体系负重。
国家政府不会袖手旁观,让卫生部门继续陷入危机。
国家党计划概述
1). 激励鼓励更多新西兰人学习护理或助产学
国家党将支付护士和助产士在他们职业生涯的前五年内的学生贷款偿还,最高可达每年$4,500,前提是他们继续在新西兰从事自己的职业。
覆盖五年的学生贷款偿还意味着一名典型的注册护士或助产士每年的税后实际收入将增加$4,500,或每周增加$87。在五年内,他们将多得到高达$22,500。
这一显著的实际收入增加将作为一个强有力的激励,鼓励更多的新西兰人考虑学习护士或助产士的职业选择。
2). 毕业后将护士和助产士留在新西兰的绑定
为了获得学生贷款偿还计划,护士和助产士需要与政府签订绑定协议,承诺毕业后至少在新西兰从事自己的职业工作五年。
这也将面向已经在职场的注册护士和助产士,按比例提供支持,以支持卫生部门留住早期职业的护士和助产士。
3). 通过竞争性移民政策吸引更多海外护士和助产士
国家党还将通过允许合格的海外护士和助产士在没有工作机会的情况下获得为期六个月的临时签证前来新西兰寻找工作,并将他们的直系家庭成员带到新西兰来,使新西兰在全球熟练工人的竞争中更具竞争力。
我们还将建立一个搬迁支持计划,为高达 1,000 名合格的海外护士和助产士提供每人最高价值$10,000 的搬迁补助,以支持他们搬到新西兰。
工党已经见证了卫生工作力量的危机。国家党将结束护士和助产士的短缺问题,以便新西兰人可以获得他们应得的医疗保健。”
首先,不得不说国家党的网站上提出的计划多且详细,大部分甚至都有单独的一份 PDF 来帮助解释更加详细的执行方案。并且里面充满着数字和图表。真的是没有对比就没有伤害。另外他们用的都是同一套系统 NationBuilder 还是 Ruby on Rails 写的。 所以网站内容做的烂真的是不用心。 但是工党政府给自己花了那么多钱。想起来就生气。
国家党最重要要搞的是经济,单独的三大项我多多少少我都能受益,如果都能执行成功的话。而且比如教育和治安我都很关心他们也提到了。
国家党的计划是在太多了,无法一一详细看完。但是给人的感觉就是放心,我们都有详细的计划,我们会好好做事的感觉。 如果我是甲方招标做项目,选不选国家党另说。但是我选工党 or 绿党就是自己 sb 给自己丢坑里面了。
]]>Labour 工党解读
Greens 绿党解读
National
Act NZ
并且总结以下方面
本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.
可以在官网 Vote NZ 学习到投票的所有需要的基本知识。做的简单易懂,我就不过多介绍了。
投票时间是 2023 年 10 月 2 日 到 2023 年 10 月 14 日。
我建议只要你有投票资格,请你一定要投票支持你认可的党派。这是为了新西兰,也是为了你自己。
绿党官网 https://www.greens.org.nz/
https://www.greens.org.nz/marama_davidson
玛拉玛在奥特罗阿(Aotearoa)各地成长,她出生在奥克兰,然后在惠灵顿、达尼丁和基督城生活过。
玛拉玛九岁时,她的祖父去世了,她的家庭随后首次搬到了惠灵纳基(Whirinaki)。她的父亲以前从未去过惠灵纳基,对这个美丽的家园感到深深着迷,因此在他父亲的葬礼后立即把家人搬回了霍基昂加的惠灵纳基。惠灵纳基成了玛拉玛童年的家,直到她搬到汉密尔顿开始上大学,后来定居在奥克兰的马努雷瓦。
玛拉玛出生在一个年轻的城市毛利活动家庭,她每天都将这一点带到了国会。作为恩加普伊(Ngāpuhi)、泰拉拉瓦(Te Rarawa)和纳蒂波鲁(Ngāti Porou)的后裔,玛拉玛热衷于改善广大人民的生活,而不仅仅是少数人,包括毛利人。她总是寻求与那些在社区基层辛勤工作的领袖们合作,他们每天都在建设社区方面付出艰苦努力。
在成为国会议员之前,玛拉玛曾在人权委员会工作了 10 年,并担任格伦调查(Glenn Inquiry)关于家庭暴力和儿童虐待的主席小组成员。她参与调查使暴力问题成为她政治关注的前沿。作为家庭和性暴力预防部长,她将把这一经验带入新的职位,继续绿党议员珍·洛吉(Jan Logie)担任国会副部长(家庭和性暴力问题)的工作。
玛拉玛与她的六个孩子、孙子孙女和丈夫一起住在马努雷瓦。在过去的五年里,她致力于了解全国范围内的住房危机,并深刻致力于帮助那些最需要安全住房的人。作为负责解决无家可归问题的住房副部长,玛拉玛将带来她的专业知识和承诺,为我们的社区创造真正的变革。
玛拉玛热衷于所有不公正的领域,并承诺在任何地方都使用她的声音来提高问题的重要性。她受到她的奶奶的启发,奶奶在 15 年前去世,她是一个经历了一生挑战的女性,她感谢她的父母是坚定的榜样,为了人民和地球做正确的事情。
“我对能够尊重我们彼此之间和地球的联系并制造变革感到热情和兴奋。”
https://en.wikipedia.org/wiki/Marama_Davidson
Marama Davidson,新西兰政治家,于 2015 年代表新西兰绿党进入国会,并担任该党的女性联合领袖。她是一个环保主义者和人权倡导者,曾在人权委员会工作,并参与了儿童虐待和家庭暴力调查。她在 2020 年成为新西兰联合政府的“家庭和性暴力预防部长”,并担任联合住房部长。戴维森还在绿党内部担任不同职务,包括反对租赁住房费用的废除。
个人背景:
Marama Davidson 生于奥克兰,具有 Ngāti Porou、Te Rarawa 和 Ngāpuhi 血统,她的父亲是演员 Rawiri Paratene。她在青少年时期搬家频繁,曾在不同城市生活,后来定居在 Hokianga 的 Whirinaki。她在汉密尔顿开始学业,后来在奥克兰完成了文学学士学位,并获得了毕业外交学位。
职业生涯和社区参与:
戴维森曾在新西兰人权委员会工作,并在母乳喂养新西兰部分时间工作。她还是 Te Wharepora Hou 毛利妇女集体的创始成员。
政治生涯:
Marama Davidson 于 2015 年首次进入国会,代表绿党,之后在 2017 年和 2020 年继续连任。她曾呼吁放宽堕胎法律,提高性教育质量,改善避孕措施的获得,并支持更多收养支持,因为她在少年时期曾经进行过堕胎。
在 2018 年,戴维森成功竞选为绿党的女性联合领袖,并在 2019 年成为新西兰联合政府的一部长。在 2020 年大选中,她成功连任,并继续担任家庭和性暴力预防部长,同时成为住房部长的副手。
她曾因参加一个社区活动而受到争议,该活动涉及著名黑帮组织 Mongrel Mob,但她辩称这是一次为正义而聚集的社区活动。
政治观点和立场:
戴维森曾将美国总统唐纳德·特朗普描述为种族主义者。她还参与了前往加沙地带的妇女之船活动,以抗议以色列对加沙地带的封锁。
总结:
Marama Davidson 是新西兰绿党的政治家,曾担任家庭和性暴力预防部长,并一直倡导环保和人权。她的政治生涯包括多次当选为国会议员,以及在绿党内部担任不同职务的经历。她也曾因参与争议性社区活动而受到争议,但她坚称这是为正义而做的事情。戴维森在政治和社会议题上持有一系列观点,包括反对特朗普政府和支持加沙地带的抗议活动。
https://www.greens.org.nz/james_shaw
James Shaw 坚信,新西兰可以成为世界向高价值、清洁技术、惠及所有人的后碳经济转型的榜样。 他还认为,现在世界需要更多这样的榜样来效仿,那些能够领导的人有责任这样做。
在成为议员之前,James 在管理咨询领域拥有成功的职业生涯,主要是在 1998 年至 2010 年期间居住在伦敦。他在大型跨国组织、当地初创企业、社会企业和社区组织等领域拥有丰富的工作经验。 欧洲、新西兰和世界各地。
在巴斯大学完成可持续发展和商业领导力硕士学位后,詹姆斯意识到,仅靠私营部门无法以应对气候变化挑战所需的速度和规模实现变革,而且政治变革也 必需的。
2010 年,他回到新西兰竞选议会议员,并于 2014 年当选,并于 2015 年成为绿党联合领导人。2017 年,詹姆斯带领绿党进入其首个部长任期,并被任命为气候变化部长 ,统计和财政部副部长。
在他的第一个任期内,詹姆斯指导《零碳法案》在议会获得一致支持。 改革排放交易计划以减少大气污染; 成立绿色投资金融有限公司,刺激低碳经济投资。
现在,詹姆斯已进入第二个任期,重点关注减少交通、能源和农业部门温室气体排放的具体措施。 他还担任政府环境部副部长,负责生物多样性事务。
https://en.wikipedia.org/wiki/James_Shaw_(New_Zealand_politician)
James Shaw 是新西兰政治家,也是新西兰新西兰绿党(Green Party of Aotearoa New Zealand)的领袖。他于 2014 年以绿党代表身份当选为新西兰议会议员,后于 2015 年成为该党的男性联合领袖。在梅蒂丽亚·图雷伊(Metiria Turei)辞职后,James Shaw 于 2017 年成为该党唯一的领袖。James Shaw 曾担任多个部长职务,包括气候变化部长和统计部长。他在 2020 年大选中成功连任,保留了气候变化部长职务。James Shaw 的政治生涯始于 20 世纪 90 年代,当时他曾试图竞选惠灵顿地方职位,但未成功。在在伦敦生活了 12 年后,他于 2010 年回到新西兰。进入政界之前,James Shaw 在咨询领域工作,包括普华永道和汇丰银行。
在他的早期议会生涯中,James Shaw 竞选惠灵顿中央选区,但主要担任名单议员。他于 2015 年成为绿党的男性联合领袖,接替了 Russel Norman。James Shaw 的领导风格以争取更广泛的受众为特点,强调该党更专业的形象。然而,在 2017 年大选竞选活动期间,他的联合领袖梅蒂丽亚·图雷伊因承认领取社会救济金存在争议而辞职,使 James Shaw 成为唯一的领袖。
在 2017 年选举后组建的联合政府中,James Shaw 被任命为统计部长、气候变化部长和财政部副部长。他支持旨在应对气候变化并结束石油和天然气勘探的政策。James Shaw 还推出了《气候变化应对(零碳)修正法案》。
2020 年,尽管工党在大选中赢得绝对多数,但 James Shaw 的绿党与工党达成了合作协议,允许他保留气候变化部长职务并成为环境(生物多样性)副部长。James Shaw 在 2022 年面临领导挑战,但最终当选为绿党联合领袖。
James Shaw 的政治观点包括相信改革市场以纳入可持续性和应对气候变化,并批评了前美国总统唐纳德·特朗普。
James Shaw 的个人信息包括与妻子 Annabel 居住在阿罗山谷。
https://www.greens.org.nz/chloe_swarbrick
Chlöe 是 Auckland Central 的国会议员。这是她称之为家的地方,她所属的社区,也是她自豪地代表的城市,还有哈拉基湾的岛屿!Auckland Central 是 Chlöe 首次参加政治的原因,因为心爱的文化遗产音乐场地 King’s Arms 关闭,这成为她 2016 年竞选奥克兰市长的催化剂。在极为有限的预算下进行了短暂的竞选活动后,Chlöe 获得了近 3 万名奥克兰人的选票,排名第三。他们投票支持她,是因为她在与他们交流,谈论他们的城市以及对他们重要的事情方面表现出色。
她的下一步是明确的。Chlöe 作为一个价值观与她相符的政党的候选人,并在 2017 年当选为绿党国会议员。作为 40 多年来最年轻的国会议员,Chlöe 向人们展示了政治家可以看起来有些不同,听起来有些不同,并以稍微不同的方式做事。Chlöe 希望向所有新西兰人展示,我们的机构只是由做出决策的人组成,而这些决策通常受到旨在赋予少数人权力和特权的体系的制约。
Chlöe 为她担任绿党发言人的议题上不懈努力,致力于大胆而具有变革性的行动。在药物法律改革领域,Chlöe 一直倡导以基于证据的、减少伤害的方法来处理药物使用问题,将其视为健康问题。她还在议会内合作通过了选举准入基金法案,该法案最初由前绿党国会议员、首位聋人国会议员 Mojo Mathers 起草,该法案为残疾候选人提供了在选举中无障碍参选的基金。
2020 年,Chlöe 启动了学生住房调查,以揭露并解决深度未受监管的住房领域存在的问题,展示了她与学生及其代表合作,以建立更公平和更好的体系的承诺。
作为奥克兰中部的国会议员,Chlöe 专注于选区关注的主要问题,包括:
住房,尤其是租房的费用和安全性,以及贫困的明显表现——无家可归;交通,选区急需进行出行方式的革命:步行、骑行、公共交通和全面的无障碍出行;环境,包括对Tīkapa Moana(哈拉基湾)的保护,以及安全、清洁和绿色的共享空间以及特别是昆皮大街的空气质量改善;小型企业,特别是社区中心的活力艺术和文化场景。
Chlöe 是奥克兰中部的坚定倡导者,在城市街头、与决策者的讨论中以及惠灵顿的权力大厅中都表现出色。
“常规、渐进的政治变革机制未能应对气候变化、社会和经济不平等根深蒂固、密不可分的危机所带来的挑战。市民足够聪明,能够认识到需要一种替代方案。正是在这种替代方案中,我们才能不断重新界定可能性的边界,因为政治上的可能性仅仅由执政者的意愿所定义。”
https://en.wikipedia.org/wiki/Chl%C3%B6e_Swarbrick
基本背景:
Chlöe Swarbrick(克洛伊·斯沃布里克)是一名新西兰政治家,尽管年龄较小,但在她的职业生涯中取得了显著的成就。她于1994年6月26日出生在新西兰奥克兰。
职业生涯:
Chlöe Swarbrick自2017年以来一直是新西兰国会的成员。她曾竞选奥克兰市长,但未成功。随后,她加入了绿党,并在2017年新西兰大选中成功当选,成为23岁时的国会议员。她后来赢得了2020年大选中的奥克兰中央选区,成为自1999年以来第二位赢得选区的绿党议员,也是自1996年引入比例代表制以来,第二位获得普通选区席位而没有主要政党领袖的暗示支持的小党议员。
重要成就和立场:
Swarbrick 是草拟草药的坚定支持者,包括将毒品用户和成瘾者解刑的倡议。她在建立 Piki 计划方面发挥了作用,该计划为年龄在18至25岁之间的年轻人提供免费心理健康支持。Swarbrick 在气候行动方面一直积极倡导,试图在新西兰宣布气候紧急状态。她一直倡导从化石燃料中脱身,并提出法案,旨在将政府资金从化石燃料投资中撤出。Swarbrick 因在气候变化问题上的一次国会演讲中说出“OK boomer”而受到国际关注。
个人生活:
Swarbrick 对自己的性取向非常开放,并曾与 Nadine Walker 订婚。她自14岁起就成为素食主义者。Swarbrick 面临了诸如计算障碍、抑郁症、焦虑症和多动症等挑战。她每周接受心理支持并服用抗抑郁药物。
最近的发展:
Swarbrick 一直在继续她的政治工作,倡导解决无家可归问题,并支持巴勒斯坦。她因与酒类销售和广告相关的一项提案而引发了争议,该提案最终于2023年4月被否决。
媒体报道:
Swarbrick 的政治经历已成为纪录片的主题,包括《OK Chlöe》和即将上映的长篇纪录片《Being Chloe》。
为啥要放 Chlöe Swarbrick, 因为最新的民调中 PM 她排名第 4. 虽然百分比不高。看不懂啊看不懂。
在这个页面
一共能看见 9 个人。
重新设计我们的城镇和城市,使其适合人类和自然。
我们的城镇和城市可以成为人与自然共同繁荣的地方,拥有由清洁能源供电的温馨且经济实惠的住房,便捷且有利于气候的出行方式,以及健康的绿色空间。
“气候安全社区”是一个可行的计划,未来七年将重塑我们居住的地方,以满足以下三个优先事项:
以人为本 - 我们的社区将围绕人们的需求而重塑,而不是汽车,绿色街道将为我们的孩子提供安全的游玩和移动空间。为自然留出空间 - 我们的街道将种满树木和小溪,绿色空间将提供休息的场所并保护我们免受洪水的侵袭。气候友好的出行 - 人们将更容易乘坐公共汽车和火车出行,享受免费的牙科服务,只需安全步行或骑自行车即可到达。
历届政府已经做出政治决策,将我们的城镇和城市设计成以汽车为中心。这对每个人,包括司机在内,都是失败的。
证据显示,当我们修建更多的道路时,它们会变得拥堵不堪。人们被迫更频繁地开车,行驶更长的时间,导致交通拥堵,城市扩张加剧。这是一个非常昂贵的计划,我们知道它不会成功。
在为改善城镇和城市的政治决策方面,绿党专注于证据。世界上没有一个城镇或城市通过修建更多道路来解决其面临的挑战。
我们的计划将以人民的需求为中心来建设我们的城市,同时为自然留出空间,比如可以吸收水分并防止洪水的新绿色基础设施。
创建新的公交和轻轨、步行和骑行路线,将使人们更快地到达目的地,减少排放,比修建更多道路更具连接性和愉悦性。
绿树成荫的街道将在我们送孩子上学的时候为我们遮荫,并为城市气候行动提供一种有效、高效和即时的形式。
绿色空间将在下一次暴风雨袭击时吸收水分,避免洪水侵袭我们的家园。
这是我们的计划,将我们的城镇和城市与健康的气候和繁荣的自然带入平衡。
全新的清洁能源支付计划将帮助您支付升级家庭以使用清洁能源的费用。它将每年为您节省数百美元的能源费用。
这是一个全国范围的努力,旨在为我们的子孙后代建设零碳未来。而且所有费用都将由我们最大的污染源支付。
升级我们的住宅意味着它们会保持温暖,不依赖于肮脏的燃料,这样每个人都可以回到一个不会污染地球的温暖之地。
新西兰的住宅以寒冷和通风不良而著称。目前,有 11 万户家庭无法承担保持家庭温暖的费用。连续几十年的政府不断削减投资意味着我们花费更多的钱和能源来维持照明和家庭的温暖。
通过“温暖的新西兰住宅”(Warmer Kiwi Homes)这个长期存在的绿党政策,我们已经取得了良好的进展,并且作为政府的一部分,我们能够扩大规模。但这还不够。我们升级住宅所需的一切都已经存在。然而,大多数人没有多余的数千美元来支付太阳能电池板、热泵或双层玻璃等东西的费用。
清洁能源支付将帮助您支付升级家庭以使用清洁能源的费用,并每月为您节省电费。
清洁能源支付将向拥有自己住房的人提供最高 6,000 美元的补助金。补助金可以用于改善绝缘;更换化石燃料设备,如燃气取暖器,以使用清洁替代品,如热泵;以及购买屋顶太阳能发电设备。
不同的住宅将需要不同的解决方案,通常进行的升级越多越好。通过无息贷款,还可以获得高达 30,000 美元的额外零碳住宅升级费用的资助。
零碳升级将对房东来说是可以税务扣除的,有助于实现绿党对租户的承诺。
清洁能源支付将在新西兰各地推动向清洁能源供电、温暖且完全电气化的住宅的过渡,而我们需要支付的每一美元都将来自大污染源支付的资金。
气候紧急响应基金将支付清洁能源支付。这意味着我们的大污染源为其排放支付的费用将被直接用于使我们的住宅更加温暖。
与我们的收入保障一起,清洁能源支付将使每个人都能安心保持家庭舒适温暖,并支付账单。
清洁能源支付
绿党的计划将帮助新西兰各地的人们维持生计,减少气候污染,为每个角落带来温暖的家庭、优质的就业和更便宜的能源费用。
提供最高6,000美元的补助金,用于安装太阳能发电和进行节能升级提供最高30,000美元的无息贷款,用于支付额外的零碳住宅升级费用,租赁住宅的零碳升级可以税务扣除,因此租户和房东都可以从以清洁、可再生能源为动力的节能住宅中受益
我们的计划还将:
将Kainga Ora住宅上的太阳能扩展到未来三年内的3万个家庭扩大“温暖的新西兰住宅”的覆盖范围,包括更换燃气取暖器等更多的零碳升级资助社区能源提供商以及由毛利人开展的、面向毛利家庭的方法,帮助他们保持家庭温暖、干燥,并最大程度地节省能源费用。
一个内容比较多的PDF
绿党 2023 宣言》是一份全面的文件,概述了该党对新西兰可持续和公平未来的愿景。该宣言涵盖了广泛的问题,包括气候变化、环境保护、社会公正和移民。
在气候变化问题上,绿党提出了减少排放和促进可再生能源的政策,包括到 2050 年实现净零排放的目标。该党还主张保护自然栖息地和生物多样性,并推动转向减少浪费、促进再利用和回收的循环经济。
在社会公正方面,绿党旨在通过实施生活工资、负担得起的住房和免费医疗保健等政策来解决贫困和不平等问题。该党还支持非罪化药物使用和提供心理健康和戒毒服务。
关于移民问题,绿党提出了公平可行的居留途径,反对使用拘留中心拘留寻求庇护者。该党还主张承认《条约》是新西兰的创始文件,并保护毛利和太平洋岛民的文化和语言。
总的来说,《绿党 2023 宣言》提出了一个基于社会公正、环境保护和文化认可和尊重原则的新西兰可持续和公平未来的全面愿景。
Translation to Chinese: 《绿党 2023 宣言》是一份全面的文件,概述了该党对新西兰可持续和公平未来的愿景。该宣言涵盖了广泛的问题,包括气候变化、环境保护、社会公正和移民。
在气候变化问题上,绿党提出了减少排放和促进可再生能源的政策,包括到 2050 年实现净零排放的目标。该党还主张保护自然栖息地和生物多样性,并推动转向减少浪费、促进再利用和回收的循环经济。
在社会公正方面,绿党旨在通过实施生活工资、负担得起的住房和免费医疗保健等政策来解决贫困和不平等问题。该党还支持非罪化药物使用和提供心理健康和戒毒服务。
关于移民问题,绿党提出了公平可行的居留途径,反对使用拘留中心拘留寻求庇护者。该党还主张承认《特蒂蒂·奥·怀唐基条约》是新西兰的创始文件,并保护毛利和太平洋岛民的文化和语言。
总的来说,《绿党 2023 宣言》提出了一个基于社会公正、环境保护和文化认可和尊重原则的新西兰可持续和公平未来的全面愿景。
每个人都应该拥有一个负担得起的、健康的家 - 一个休息的地方,与亲人分享,建设生活,或者看着我们的孩子长大。
租户承诺是一套简单且可执行的规则,最终将为租房的人们创造公平竞争的机会。
租金控制将限制您的房东每年可以提高租金的金额,并且每个出租住房都必须通过健康检查,以确保您的安全和健康,让您安心。
我们对租户的承诺:
在新西兰,有 140 万租户中太多人被迫生活在不确定是否能支付租金的持续压力下。成千上万人被迫为了住在寒冷、潮湿、不健康的房屋而支付高额租金,这些房屋让他们生病并陷入贫困。
现在,租赁市场更像是一个垄断游戏,而不是一个公共利益 - 房东掌握着所有的牌。这不是偶然发生的。几十年来,政府一直制定规则,优先考虑了房地产拥有者,而未能保护租房的人。
现在是政府展现必要的政治领导力,让每个人的租房生活更好的时候了。
绿党将把人民的利益置于投资房东之上,并建造我们所需要的高质量、温暖、负担得起的住房。
携手绿党的收入保障,租户承诺将终结新西兰的贫困。
绿党对租户的承诺将确保每个人都有一个安全、健康和负担得起的地方可以居住和打造自己的家。
我们的计划将消除贫困,确保每个人都有足够的食物、一个安全的家,过上体面的生活,并且我们将通过公平的税收制度来支付这一计划。
《共同终结贫困》将为每位新西兰人引入全新的收入保障计划。
这将使每个人都能够安心地支付每周的购物费用,租金或应对意外开支。
这个收入保障计划将让每个家庭脱离贫困,由更公平的税收规则来支付,最富有的 1%将贡献更多,而低收入和中等收入者将获得减税。
新西兰是世界上最富有的国家之一。但现在成千上万的儿童上床饥饿。家庭难以支付租金或抵押贷款,并保持家里温暖。学生被迫跳餐以维持生计。
我们需要摆脱贫困的资金已经存在。但是连续的政府决定不使用它。这是一种政治选择。
现在是一个政府必须采集那些有能力支付的税收资源并将这笔钱分配到最需要的地方的时候了。
《共同终结贫困》保证了每个有工作和没有工作的人都将每周至少获得 385 新西兰元的收入,对于那些需要帮助的人还将提供额外支持。
对于夫妻,我们的收入保障将至少为 770 新西兰元,而单亲家庭将始终拥有至少 735 新西兰元的收入。
这意味着对学生和失业人员的支持,对生病或残疾人的额外帮助,以及为家庭提供简单的支付,以便所有孩子都能茁壮成长。
我们的计划意味着我们都能够承担生活必需品的费用,为自己和家人提供支持,即使在困难时期也是如此。
通过公平的税收制度支付的新收入保障,让每个有工作和没有工作的人都能够安心支付生活的必需品。
绿党将为所有人提供免费牙科护理服务。
我们的健康和福祉依赖于健康的牙齿和牙龈——每个人都应该获得他们成长和充分参与社会所需的牙科护理。
几十年来,历届政府都选择将牙科保健排除在公共卫生系统之外。 现在牙科护理非常昂贵,以至于 40% 的人得不到所需的护理。 对于毛利人来说,情况更糟。
这是一个政治选择——可以做出不同的选择。
目前,数百万人推迟去看牙医,因为它太贵了。 目前看牙医的平均费用为 353 NZD——大约是最低工资者周收入的 40%。 难怪新西兰有更多的人因为费用而放弃去看牙医,甚至比美国还要多。
推迟去看牙医或不治疗牙齿或牙龈问题的后果可能会改变我们的生活。 在大多数情况下,去看牙医就可以避免这些问题。
在新西兰,我们选择为公共卫生服务提供资源,因为我们认识到每个人都应该得到照顾。 我们已经确保 18 岁以下的儿童可以获得免费牙科护理。
现在是时候将这种关怀延伸到每个人了。 绿党将建立新西兰牙科服务机构。
绿党将为每个人提供免费的牙科护理——我们将通过公平的税收制度来支付费用。
新西兰牙科服务将提供:
每个人都可以享受免费的年度检查和清洁 为有需要的人提供免费的基本牙科护理,例如补牙、窝沟封闭和拔牙 移动牙科车和为包括集会堂在内的社区牙科诊所提供资金,因此没有人需要长途跋涉来照顾自己的牙齿。
我们的计划还包括:
通过向毛利卫生局提供额外资金,提供“毛利人为毛利人”的牙科保健服务 培训下一代牙医的计划。 我们将通过取消培训名额上限来满足对牙医不断增长的需求。
我们将通过公平的税收制度来支付这笔费用。
Ko tēnei te wā kia whakatika。 现在是纠正过去的错误并将错误地从毛利人手中夺走的土地归还给毛利人的时候了,这样 whānau 和 Whenua 才能蓬勃发展。
将土地归还给唐加塔·韦努阿是解决毛利人持续遭受的不公正现象的正确之举。 奥特亚罗瓦 (Aotearoa) 可以成为由 tangata Whenua 领导的活跃 kaitiakitanga 指导我们与 te taiao 的关系的地方,确保我们的 tūpuna whenua、awa 和 maunga 得到照顾。
我们今天所知道的新西兰是在毛利人的土地上建立起来的,在过去 183 年里,由于蒂蒂里蒂奥怀唐伊的破坏,其中大部分土地被错误地侵占。
自 1975 年以来,官方承认需要有一个途径来恢复这些违规行为。 目前,毛利部落和哈普部落与国王之间已经谈判达成了 120 多项条约和解。
然而,这些协议需要毛利部落和哈普部落的深度妥协。 他们没有实现蒂里蒂正义。
随着新西兰《特蒂里蒂奥怀唐伊条约》签署 185 周年以及《怀唐伊条约》签署 50 周年的临近,现在是时候反思下一步行动,以确保《特蒂里蒂奥怀唐伊条约》的承诺得到兑现,避免错误。 都被纠正了。
在下一届议会中,绿党将采取措施确定补救方法,以确保其基础是尊重特蒂里蒂并全面恢复过去的伤害。 我们将:
设立一个调查委员会,调查土地剥夺的全部范围和补救措施的充分性,负责就未来将错误征用的土地归还给毛利人、哈普和家庭的途径提出建议。 废除 2008 年针对 Te Tiriti o Waitangi 历史违规行为提出新索赔和证据的最后期限,允许 hapu 和 whānau 通过怀唐伊法庭提出更多历史索赔。 恢复怀唐伊法庭就私有土地提出建议的能力。 修订《公共工程法》,以防止毛利人今后被征用,并为归还先前征用的土地提供明确的道路。 终止永久租约并恢复业主的全部土地权利。
通过纪念 Te Tiriti o Waitangi 并恢复与 tangata whenua、王室和 tauiwi 之间的关系,新西兰可以成为一个所有人都能繁荣发展的地方。
Ko tēnei te wā kia whakatika。
如果您和您的家庭受到永久租约或《公共工程法》的影响,我们希望收到您的来信。
在官网能看到的未来计划上,只有 9 名成员的绿党比 80 名成员的工党更加详细。工党真的是放弃了啊。
虽然绿党更加多的计划可以看到。但是利好我的太少。
]]>Labour 工党解读
Greens 绿党解读
National
Act NZ
并且总结以下方面
本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.
可以在官网 Vote NZ 学习到投票的所有需要的基本知识。做的简单易懂,我就不过多介绍了。
投票时间是 2023 年 10 月 2 日 到 2023 年 10 月 14 日。
我建议只要你有投票资格,请你一定要投票支持你认可的党派。这是为了新西兰,也是为了你自己。
工党官网 https://www.labour.org.nz/
https://en.wikipedia.org/wiki/Chris_Hipkins
官网介绍:
克里斯·希普金斯是新西兰工党的领袖,新西兰总理,以及 Remutaka 选区的国会议员。
克里斯出生在哈特河谷,他曾就读于滑铁卢小学、哈特中学和哈特河谷纪念学院(后来改名为佩托尼学院),他于 1996 年担任学院的学生会主席。他在 2000 年和 2001 年担任维多利亚大学学生会主席,并在那里完成了主修政治和犯罪学的文学学士学位。完成学业后,他在政府和商界的各种职位上工作。
政治生涯:Chris Hipkins 是一位新西兰政治家,担任新西兰工党党领和第 41 任新西兰总理。他在政治领域有着丰富的经验,自 2008 年起担任议会议员,曾担任多个内阁职务,包括教育、卫生和应对 COVID-19 大流行。他在卫生领域的工作备受赞誉,对新西兰成功应对 COVID-19 大流行做出了重要贡献。
政策重点:Hipkins 强调解决基本生活问题,如应对生活成本上涨,这显示了他对中间选民的关注。他的政策重点包括教育改革、公共卫生、福利计划和气候变化行动。
外交事务:Hipkins 在国际事务方面也发挥了重要作用,他在访问澳大利亚、英国、印度、巴布亚新几内亚和中国等国家时加强了新西兰的外交关系。他签署了新西兰与欧盟的自由贸易协定,推动了贸易和国际合作。
个人特点:Hipkins 被描述为和蔼可亲、幽默风趣,人称“Chippy”,这种亲民形象让他在公众中广受欢迎。
总的来说,Chris Hipkins 是一位有着丰富政治经验,关注基本生活问题的政治领袖,他在内阁和国际事务领域都有着卓越的表现,备受尊敬。
44 岁,学生时代担任学生会主席,说明从小有领导和演说能力。大学学了个文科。唯一能看见的普通工作是在一个叫Todd Energy
的公司做到培训经理。也不知道是培训什么具体东西的。
然后在 30 岁的时候正式从政。在最近两届政府内担任过教育部长、公共服务部长、议院领袖、卫生部长和 COVID-19 应对部长。我的感受是在新西兰当部长其实不用相关领域的背景。不过好想很多公司老板也是相同的情况。所以应该是正常情况?
而且在这里的民调中,Chris Hipkins 目前还是第一的。
在这个页面
一共能看见 80 个人。
2 号人物 Kelvin Davis 工作出身是老师和校长。
截止 2023 年 9 月 7 日, 我写这篇 blog 的时候,我在官网找不到工党未来三年的计划。
能看见的是我们的优先事项
非常简单,我都觉得工党已经放弃本次选举了。
工党致力于培育一个强大的经济,支持每一个新西兰人前进。最新数据显示我们的计划正在取得成功。尽管面临一代人中最具挑战性的经济条件,我们有着创纪录数量的人就业,工资增长超过通货膨胀,我们的公共债务水平仍然位居世界最低之列。
为了使新西兰的经济迈向未来,我们正着重投资于基础设施、技能、科学和创新。我们正在谋求新的贸易协定,以支持企业增加就业和提高工资。而且,我们正在改善市场竞争,逐渐减少对不稳定化石燃料的依赖,以降低现在和未来的生活成本。我们的计划将创造一个适用于所有人的经济,而不仅仅是富人的少数人 - 一个每个人都能茁壮成长的新西兰。
由于全球通货膨胀导致生活成本上升,工党提供了切实可行的支持,使新西兰人的日常生活更加经济实惠。我们正处于经济周期,情况会好转。在此期间,我们的重点是降低成本,让人们的口袋里有更多的钱。我们已经降低或取消了一些家庭面临的核心成本–包括取消处方费、为年轻人提供更便宜的公共交通以及帮助支付冬季取暖费。我们还提高了最低工资标准,让人们继续工作并创造就业机会。
尽管经历了一代人以来最具挑战性的经济形势,但我们确保了奇异果的孩子们不会倒退。我们的 “家庭一揽子计划”、历史性地提高主要福利以及在学校提供免费午餐等举措,确保了自工党执政以来贫困儿童人数减少 77,000 人。我们还有更多的工作可以做,以支持新西兰人的生活费用,我们将继续推进我们的计划,以缓解压力,包括取消水果和蔬菜的消费税等。
新西兰的住房危机已经酝酿了几十年,没有快速解决方案,但我们正在取得良好的进展。为了让租房者和首次购房者都能够负担得起住房,我们正在大力增加住房供应。我们的基础设施加速基金正在加快建设的规模和速度,同时通过全面改革《土地管理法案》来减少繁文缛节。我们正在兴建比上世纪 50 年代以来的任何政府都更多的公共和临时住房,通过免费的行业培训和学徒制度来扩大建筑工人队伍。
我们还进行了重大改革,以帮助更多的家庭拥有自己的住房,包括遏制推高房价的不公平做法 - 如海外投机,引入首次购房贷款和补助,以及建立一个具有租赁购房选择的渐进性住房所有权计划。解决住房危机没有单一的解决方案,但我们已经采取的措施正在产生实质性的影响。现在,我们需要继续前进。
工党在过去六年中采取的应对气候变化的行动超过了其他所有政府的总和。由于这项工作,新西兰现在正在有史以来第一次将我们的气候排放曲线向下弯曲。我们通过了《零碳法案》(Zero Carbon Act),禁止了新的海上石油和天然气勘探,使电动汽车更加经济实惠,支持企业放弃化石燃料,投资清洁技术,等等。但是,新西兰今年经历的极端天气事件凸显了我们需要继续前进的原因。
现在,我们正在推进我们的全面计划,在能源、交通、农业、林业、废物处理和建筑领域应对气候变化。在新西兰向更清洁、更环保的未来转型的过程中,我们正在创造新的就业机会,确保我们的出口品牌,并确保我们的经济蓬勃发展。
我们致力于通过与毛利人紧密合作,改善毛利人的代际福祉。我们已经共同做出改变,以支持我们的社区,包括建立毛利人官方关系办公室(Te Arawhiti),支持更多的毛利人参加工作和培训,并释放毛利人的潜力。
在我们继续恢复的过程中,我们将继续这样做,通过毛利卫生局等举措解决不平等问题,与 iwi 合作加快住房开发,并为毛利中等教育提供更多支持。
工党认为,每一位新西兰人,无论居住在哪里,都应该能够获得世界一流的医疗保健服务。2017 年,我们继承了一个因多年投资不足而面临严重压力的医疗系统,从那时起,我们一直在努力扭转局面。在全国各地,我们正在升级改造医院和医疗中心,增派数千名医生和护士,并减少候诊人数。我们将药剂师的经费增加了 50%以上,使更多的新西兰人能够获得救命的药物,将全科医生免费出诊的范围扩大到 14 岁以下的儿童,取消了 5 美元的处方费,并降低了约 60 万人的看病费用。
我们是有史以来第一个认真对待心理健康问题的政府。我们从头开始建立了一个全新的心理健康和戒毒服务机构–它已经提供了超过一百万次的治疗。我们不能将这一进步视为理所当然。新西兰人理应享有便捷、资金充足的医疗保健服务,我们将继续推进我们的计划,为每个人实现这一目标。
官网上还有一个页面, 专门来说从 2017 年以来工党做了那些惊天地泣鬼神的事情。
这个网页的瀑布流结构真的无法言语,毫无重点和逻辑。也没有分类。更无时间顺序。 所以他们的业绩都是一样重要咯?
作为一个程序员,最烦的就是夸夸其谈。先说他们的优先事项
然后联系到工党业绩的网页设计和姐心大的表演属性。 所以目前我理解的工党就是一个纯粹靠感情来运作的团队,不是很讲科学和逻辑。
]]>Recently, I studied a lot of knowledge about the Ethereum ecosystem.
I can’t wait to create something by myself.
But I searched for a long time without finding a basic tutorial for me to explain how the front-end and chain-end interact.
Some tutorials are old. Other tutorials don’t match my tech stack.
I know scaffold-eth can help most fresh developers begin Ethereum development. However, scaffold-eth has too much magic for me. It hides some basic things. And I want to know the full details.
So I reckon I could write some articles from web2 developer to web3 beginner DApp developer in 2022. It’s a cool thing.
First thing, we need to study about DApp architecture.
When we have read through this The Architecture of a Web 3.0 application and the knowledge we have so far.
A fully DApp architecture looks like this:
For beginner, I draw the simply DApp architecture
Look at the simply architecture, there are two important questions:
Simple Answers:
Then, we will explore these two questions carefully when building a minimal DApp.
In this article, we will use below frameworks and technologies.
Front-end
Chain-end
Like this:
Let’s do it.
I wish I could separate the front-end app and the chain-end app.
Keep simple, keep pure.
Create the project folder, which we call the DApp-Demo
1 | mkdir DApp-Demo |
Add ./DApp-Demo/.editorconfig
file
1 | root = true |
Install Foundry
1 | curl -L https://foundry.paradigm.xyz | bash |
We will use forge
to start a new chain-end project.
1 | # on ./DApp-Demo |
For now, let’s check what the project layout looks like:
1 | tree -L 2 |
We will get a sample counter smart contract application.
In our case, we don’t need to do any modifications.
Open ./DApp-Demo/chain_end/src/Counter.sol
file.
1 | // SPDX-License-Identifier: UNLICENSED |
Our final task is that our front-end application could call these two functions on a chain.
Tips
If we use VSCode to open this workspace, we will see solidity code has some warnings. Looks like:
We could add VSCode setting to solve this issue.
create ./DApp-Demo/.vscode/settings.json
1 | { |
Now the VSCode looks good.
Also, we could try forge test
command
1 | # on ./DApp-Demo/chain_end/ |
For now so far so good.
1 | # on ./DApp-Demo |
For now, let’s check what the project layout looks like:
1 | tree -L 2 |
front_end/.prettierrc
file1 | { |
Install the flowbite package
1 | cd front_end |
Update tailwind.config.js
1 | /** @type {import('tailwindcss').Config} */ |
Here, we completed the front-end application set up.
We want to use git to manage our code.
However, we used forge
and yarn
to create projects. These two projects chain_end
and front_end
already have .git
folders.
So first we delete those .git
folders, Second, we initial the new git history.
1 | # on ./DApp-Demo |
Usually, We have three choose to run a chain on localhost.
Generally, we should have chosen anvil. It’s a part of Foundry.
Unfortunately, there were a lot of transitions pending when I used it. From my point of view anvil just is the 0.1.0 version. It will be need more time to develop.
And I want to keep pure in chain end’s project(Not more javascript or npm install
).
Finally, we used the ganahce to run chain on localhost.
The ganahce is very easy to install and setting up. It’s a GUI application.
First, Install ganahce.
Open ganahce official website Download it and install it.
We can modify it to any name we like.
Here, I used my ethereum
The PORT NUMBER is 8545
.
The NETWORK ID is 1337
.
There are import things. They will match the MetaMask Wallet’s setting.
We don’t like the account always to change.
SAVE WORKSPACE
buttonSettings > Advanced
Now we can see all test networks
Open ganache and copy the private key
Import private key to MetaMask wallet
Now we switch the network to Localhost 8545
and Account 2
We can see
We do it again to add one more account
Finally we already set up the localhost chain environment.
Let’s try one transition
Copy one wallet’s address
Switch other wallet’s account and send eth to the copy address
Wait a few seconds
Check ganache
Awesome, we have our own ethereum!
We remember the Foundry includes forge
, cast
, and anvil
.
We will use forge
to deploy our smart contracts. Then we will try to call our smart contract on cast
The first important thing is that we need to keep running the local chain on ganache
.
We will run like below command to deploy a smart contract
forge create --rpc-url <your_rpc_url> --private-key <your_private_key> src/MyContract.sol:MyContract
This your_rpc_url
can be found here.
This your_private_key
is your deploy wallet private key. It can be found here.
We fill our value to the command, my command likes:
1 | # on ./DApp-Demo |
Because ganchce
runs an old version chain so we need to add --legacy
.
We will get like this:
1 | forge create --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c src/Counter.sol:Counter --json --legacy | jq |
The deployedTo value 0x77D4DD041918061A42759fe1ECDe60fC67d28317
is the smart contract address.
Now, our smart contract already has been deployed successfully.
So easy! Right?
One more thing, because we use ganacha
, we can check the smart contract deploy information on GUI too.
cast
to call the smart contract on the localhost chainIn fact, everyone use the ethereum’s JSON_RPC API to call smart contract.
Today we will use eth_call
and eth_sendTransaction
.
The difference between a call and a transaction is the following:
transactions are created by your client, signed, and broadcasted to the network. They will eventually alter the state of the blockchain, for example, by manipulating balances or values in smart contracts.
calls are transactions executed locally on the user’s local machine which alone evaluates the result. These are read-only and fast. They can’t change the blockchain in any way because they are never sent to the network. Some examples “read-only/dry run/practice”.
cast call
- Perform a call on an account without publishing a transaction. More Detail
It is Ethereum JSON-RPC’s eth_call
cast send
- Sign and publish a transaction. More Detail
It is Ethereum JSON-RPC’s eth_sendTransaction
cast call
We will run like below command to get a smart contract’s a public variablecast call your_smart_contract_address "public_variable_name()" --rpc-url http://127.0.0.1:8545
First, we need to find the smart contract address 0x77D4DD041918061A42759fe1ECDe60fC67d28317
.
Second, our smart contract code is (chain_end/src/Counter.sol)
1 | // SPDX-License-Identifier: UNLICENSED |
So public_variable_name
is number
.
We could get this command
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
cast send
We will run like below command to call a smart contract’s a function
cast send your_smart_contract_address "function_name(function_args_type)(function_return_type)" --rpc-url http://127.0.0.1:8545 --private-key your_private_key --legacy --json | jq
Based on before content, we know the your_smart_contract_address
and can find the your_private_key
.
The increment
function
1 | function increment() public { |
uses function_name(function_args_type)(function_return_type)
method will convert to increment()
The setNumber
function
1 | function setNumber(uint256 newNumber) public { |
uses function_name(function_args_type)(function_return_type)
will convert to setNumber(uint256)
1 | cast send 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "increment()" --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c --legacy --json | jq |
Next, we will repeat multiple times to call our smart contract function.
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
1 | cast send 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "increment()" --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c --legacy --json | jq |
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
1 | cast send 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "setNumber(uint256)" 100 --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c --legacy --json | jq |
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()(uint256)" --rpc-url http://127.0.0.1:8545 |
So far so good.
Now we can deploy the smart contract on the local chain and call its function successfully.
We will focus how to build a minimal DApp. So I won’t explain any front end code details.
In the beginning, we quickly build our home page’s layout on the front-end project.
We use below code to replace front_end/pages/index.tsx
file
1 | import type { NextPage } from "next"; |
Let’s try to build the first feature with ethers.js
The ethers.js library is interacting with Ethereum. So we choose it.
Now, We install it.
1 | // on ./DApp-Demo |
We will use metamask to connect to our website. Looks like
We study the ethersjs document,
We changed our front_end/pages/index.tsx
file.
1 | import { useState } from 'react' |
We built the first feature with ethersjs.
Now we want to call our smart contract.
Because we use typescript, so we can’t like javascript to directly call ABI.
Recommend TypeChain library. It helps us to create typescript code from Ethereum smart contract.
Install TypeChain
1 | // on ./DApp-Demo |
Use TypeChain
1 | // on ./DApp-Demo/front_end |
Now, we finished from the JSON ABI files to the typescript module.
We changed our front_end/pages/index.tsx
file.
Only one important thing is COUNTER_ADDRESS
value. It muse be your smart contract deployed address.
1 | import type { NextPage } from 'next' |
Nice work!
So, we have it working great locally, how do we get it out to the world?
I really recommend this faucet https://goerli-faucet.pk910.de/. It doesn’t register any account. It is easy.
sign up the https://infura.io and you can find it.
It looks like this:https://goerli.infura.io/v3/YOUR_API_KEY
https://etherscan.io/myapikey here find your api key.
1 | // on ./DApp-Demo |
Output:
1 | [⠆] Compiling... |
Please remember this is deployed to value. It is your smart contract address.
Checks it on Etherscan
Our code was verified. Nice!
We need to do two things:
StaticJsonRpcProvider
with InfuraProvider
const COUNTER_ADDRESS
value.We changed our front_end/pages/index.tsx
file.
1 | import type { NextPage } from 'next' |
package.json
and add the following scripts1 | ... |
next.config.js
and add two lines of code.1 | /** @type {import('next').NextConfig} */ |
We will use the fleek to help us to deploy our front end project.
The fleek likes vercel. They are the same and easy to use. Just the fleek pushes the file to IPFS.
So First we sign up the fleek or sign in if you already have an account.
Then,
Connect to Github
Pick a repository
Framework selects Next.JS
Build commandnpm install && npm run build && npm run export
changes to
cd front_end && npm install && npm run build && npm run export
Publish directoryout
changes tofront_end/out
All right. Wait a few minutes.
You will see like:
We can click Verify on IPFS
to verify our website on IPFS.
This is url likes https://ipfs.fleek.co/ipfs/QmcNoHXxrpaxyxKhLhpUoFDzzycvx7o2fUh9mXiG83Xph4/
The QmcNoHXxrpaxyxKhLhpUoFDzzycvx7o2fUh9mXiG83Xph4
is your unique token.
We can replace the URL to https://ipfs.io/ipfs/QmcNoHXxrpaxyxKhLhpUoFDzzycvx7o2fUh9mXiG83Xph4/
for 100% verification on IPFS.
Everything looks great.
So exciting, We build a real 100% decentralized application from 0 to 1.
We used all modern tech stack:
We deploy a smart contract on Goerli test network and deploy a website on IPFS.
You can find the code on github and visit the website on custom domain or IPFS domain
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
Zero-to-Hero Full-Stack DApp Development in 10 Minutes
What is the difference between a transaction and a call?
]]>So, we have it working great locally, how do we get it out to the world?
I really recommend this faucet https://goerli-faucet.pk910.de/. It doesn’t register any account. It is easy.
sign up the https://infura.io and you can find it.
It looks like this:https://goerli.infura.io/v3/YOUR_API_KEY
https://etherscan.io/myapikey here find your api key.
1 | // on ./DApp-Demo |
Output:
1 | [⠆] Compiling... |
Please remember this is deployed to value. It is your smart contract address.
Checks it on Etherscan
Our code was verified. Nice!
We need to do two things:
StaticJsonRpcProvider
with InfuraProvider
const COUNTER_ADDRESS
value.We changed our front_end/pages/index.tsx
file.
1 | import type { NextPage } from 'next' |
package.json
and add the following scripts1 | ... |
next.config.js
and add two lines of code.1 | /** @type {import('next').NextConfig} */ |
We will use the fleek to help us to deploy our front end project.
The fleek likes vercel. They are the same and easy to use. Just the fleek pushes the file to IPFS.
So First we sign up the fleek or sign in if you already have an account.
Then,
Connect to Github
Pick a repository
Framework selects Next.JS
Build commandnpm install && npm run build && npm run export
changes to
cd front_end && npm install && npm run build && npm run export
Publish directoryout
changes tofront_end/out
All right. Wait a few minutes.
You will see like:
We can click Verify on IPFS
to verify our website on IPFS.
This is url likes https://ipfs.fleek.co/ipfs/QmcNoHXxrpaxyxKhLhpUoFDzzycvx7o2fUh9mXiG83Xph4/
The QmcNoHXxrpaxyxKhLhpUoFDzzycvx7o2fUh9mXiG83Xph4
is your unique token.
We can replace the URL to https://ipfs.io/ipfs/QmcNoHXxrpaxyxKhLhpUoFDzzycvx7o2fUh9mXiG83Xph4/
for 100% verification on IPFS.
Everything looks great.
So exciting, We build a real 100% decentralized application from 0 to 1.
We used all modern tech stack:
We deploy a smart contract on Goerli test network and deploy a website on IPFS.
You can find the code on github and visit the website on custom domain or IPFS domain
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
]]>We use below code to replace front_end/pages/index.tsx
file
1 | import type { NextPage } from "next"; |
The ethers.js library is interacting with Ethereum. So we choose it.
Now, We install it.
1 | // on ./DApp-Demo |
We will use metamask to connect to our website. Looks like
We study the ethersjs document,
We changed our front_end/pages/index.tsx
file.
1 | import { useState } from 'react' |
We built the first feature with ethersjs.
Now we want to call our smart contract.
Because we use typescript, so we can’t like javascript to directly call ABI.
Recommend TypeChain library. It helps us to create typescript code from Ethereum smart contract.
Install TypeChain
1 | // on ./DApp-Demo |
Use TypeChain
1 | // on ./DApp-Demo/front_end |
Now, we finished from the JSON ABI files to the typescript module.
We changed our front_end/pages/index.tsx
file.
Only one important thing is COUNTER_ADDRESS
value. It muse be your smart contract deployed address.
1 | import type { NextPage } from 'next' |
Nice work!
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
https://docs.scaffoldeth.io/scaffold-eth/toolkit/how-tos-and-troubleshooting/providers
https://docs.ethers.io/v5/api/providers/
https://docs.ethers.io/v5/api/signer/
We remember the Foundry includes forge
, cast
, and anvil
.
We will use forge
to deploy our smart contracts. Then we will try to call our smart contract on cast
The first important thing is that we need to keep running the local chain on ganache
.
We will run like below command to deploy a smart contract
forge create --rpc-url <your_rpc_url> --private-key <your_private_key> src/MyContract.sol:MyContract
This your_rpc_url
can be found here.
This your_private_key
is your deploy wallet private key. It can be found here.
We fill our value to the command, my command likes:
1 | # on ./DApp-Demo |
Because ganchce
runs an old version chain so we need to add --legacy
.
We will get like this:
1 | forge create --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c src/Counter.sol:Counter --json --legacy | jq |
The deployedTo value 0x77D4DD041918061A42759fe1ECDe60fC67d28317
is the smart contract address.
Now, our smart contract already has been deployed successfully.
So easy! Right?
One more thing, because we use ganacha
, we can check the smart contract deploy information on GUI too.
cast
call our smart contractWe will use send
and call
.
cast call
- Perform a call on an account without publishing a transaction. More Detail
It is Ethereum JSON-RPC’s eth_call
cast send
- Sign and publish a transaction. More Detail
It is Ethereum JSON-RPC’s eth_sendTransaction
The difference between a call and a transaction is the following:
transactions are created by your client, signed, and broadcasted to the network. They will eventually alter the state of the blockchain, for example, by manipulating balances or values in smart contracts.
calls are transactions executed locally on the user’s local machine which alone evaluates the result. These are read-only and fast. They can’t change the blockchain in any way because they are never sent to the network. Some examples “read-only/dry run/practice”.
cast call
We will run like below command to get a smart contract’s a public variablecast call your_smart_contract_address "public_variable_name()" --rpc-url http://127.0.0.1:8545
First, we need to find the smart contract address 0x77D4DD041918061A42759fe1ECDe60fC67d28317
.
Second, our smart contract code is (chain_end/src/Counter.sol)
1 | // SPDX-License-Identifier: UNLICENSED |
So public_variable_name
is number
.
We could get this command
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
cast send
We will run like below command to call a smart contract’s a function
cast send your_smart_contract_address "function_name(function_args_type)(function_return_type)" --rpc-url http://127.0.0.1:8545 --private-key your_private_key --legacy --json | jq
Based on before content, we know the your_smart_contract_address
and can find the your_private_key
.
The increment
function
1 | function increment() public { |
uses function_name(function_args_type)(function_return_type)
method will convert to increment()
The setNumber
function
1 | function setNumber(uint256 newNumber) public { |
uses function_name(function_args_type)(function_return_type)
will convert to setNumber(uint256)
1 | cast send 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "increment()" --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c --legacy --json | jq |
Next, we will repeat multiple times to call our smart contract function.
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
1 | cast send 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "increment()" --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c --legacy --json | jq |
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
1 | cast send 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "setNumber(uint256)" 100 --rpc-url http://127.0.0.1:8545 --private-key 1430bfebd9c4cf85cd2c9ccb43b7b1f6e3aa3449cd98451ad23ac31f518c3f7c --legacy --json | jq |
1 | cast call 0x77D4DD041918061A42759fe1ECDe60fC67d28317 "number()" --rpc-url http://127.0.0.1:8545 |
So far so good.
Now we can deploy the smart contract on the local chain and call its function successfully.
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
]]>Usually, We have three choose to run a chain on localhost.
Generally, we should have chosen anvil. It’s a part of Foundry.
Unfortunately, there were a lot of transitions pending when I used it. From my point of view anvil just is the 0.1.0 version. It will be need more time to develop.
And I want to keep pure in chain end’s project(Not more javascript or npm install
).
Finally, we used the ganahce to run chain on localhost.
The ganahce is very easy to install and setting up. It’s a GUI application.
Open ganahce official website Download it and install it.
We can modify it to any name we like.
Here, I used my ethereum
The PORT NUMBER is 8545
.
The NETWORK ID is 1337
.
There are import things. They will match the MetaMask Wallet’s setting.
We don’t like the account always to change.
SAVE WORKSPACE
buttonSettings > Advanced
Now we can see all test networks
Open ganache and copy the private key
Import private key to MetaMask wallet
Now we switch the network to Localhost 8545
and Account 2
We can see
We do it again to add one more account
Finally we already set up the localhost chain environment.
Let’s try one transition
Copy one wallet’s address
Switch other wallet’s account and send eth to the copy address
Wait a few seconds
Check ganache
Awesome, we have our own ethereum!
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
]]>I wish I could separate the front-end app and the chain-end app.
Keep simple, keep pure.
Create the project folder, which we call the DApp-Demo
1 | mkdir DApp-Demo |
Add ./DApp-Demo/.editorconfig
file
1 | root = true |
Install Foundry
1 | curl -L https://foundry.paradigm.xyz | bash |
We will use forge
to start a new chain-end project.
1 | # on ./DApp-Demo |
For now, let’s check what the project layout looks like:
1 | tree -L 2 |
We will get a sample counter smart contract application.
In our case, we don’t need to do any modifications.
Open ./DApp-Demo/chain_end/src/Counter.sol
file.
1 | // SPDX-License-Identifier: UNLICENSED |
Our final task is that our front-end application could call these two functions on a chain.
Tips
If we use VSCode to open this workspace, we will see solidity code has some warnings. Looks like:
We could add VSCode setting to solve this issue.
create ./DApp-Demo/.vscode/settings.json
1 | { |
Now the VSCode looks good.
Also, we could try forge test
command
1 | # on ./DApp-Demo/chain_end/ |
For now so far so good.
1 | # on ./DApp-Demo |
For now, let’s check what the project layout looks like:
1 | tree -L 2 |
Add front_end/.prettierrc
file
1 | { |
1 | cd front_end |
tailwind.config.js
1 | /** @type {import('tailwindcss').Config} */ |
Now we completed the front-end application set up.
We want to use git to manage our code.
However, we used forge
and yarn
to create projects. These two projects chain_end
and front_end
already have .git
folders.
So first we delete those .git
folders, Second, we initial the new git history.
1 | # on ./DApp-Demo |
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
]]>This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
]]>Recently, I studied a lot of knowledge about the Ethereum ecosystem.
I can’t wait to create something by myself.
But I searched for a long time without finding a basic tutorial for me to explain how the front-end and chain-end interact.
Some tutorials are old. Other tutorials don’t match my tech stack.
I know scaffold-eth can help most fresh developers begin Ethereum development. However, scaffold-eth has too much magic for me. It hides some basic things. And I want to know the full details.
So I reckon I could write some articles from web2 developer to web3 beginner DApp developer in 2022. It’s a cool thing.
I have read through this The Architecture of a Web 3.0 application and the knowledge I have so far.
I draw the simply DApp architecture
Look at the picture, there are two important questions:
Simple Answers:
Then, we will explore these two questions carefully when building a minimal DApp.
Like this:
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by GuerrillaBuzz Crypto PR on Unsplash
]]>But the NextJS’s official website doesn’t write how to do this.
So I investigated other developers’ code to make a working version.
I will create new project base on last blog’s demo. If you need to read it again, please click here
1 | git clone https://github.com/iiiyu/nextjs-tinymce-demo.git nextjs-upload-image-demo |
1 | cd public |
create the public/images/.gitignore
file
1 | # Ignore everything in this directory |
For every images can be visit by custom domain name.
We need to define their route, so I find only one method is Custom Server on NextJS.
1 | yarn add express |
server.js
file1 | const express = require("express"); |
package.json
like so:1 | "scripts": { |
Install formidable
1 | yarn add formidable@v3 |
create the pages/api/upload/file.js
file
1 | import formidable from "formidable"; |
create the components/upload/ImageUpload.jsx
file
1 | import { useState } from "react"; |
Update the components/editor/CustomEditor.jsx
file
1 | import { Editor } from "@tinymce/tinymce-react"; |
Uses those components
pages/index.js
1 | import Head from "next/head"; |
I supposed this method only support deploy to self host, it can’t support deploy to vercel.
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Photo by Markus Spiske on Unsplash
This article is based on the results of several programmers. But I forgot to keep those URLs.
If you need to add a referral, please send me a comment.
1 | yarn create next-app |
1 | yarn add tinymce @tinymce/tinymce-react copy-webpack-plugin |
Copy static files(tinymce files) to public folder. Edit file next.config.js
1 | /** @type {import('next').NextConfig} */ |
Create the file components/editor/CustomEditor.jsx
1 | import { Editor } from "@tinymce/tinymce-react"; |
Photo by Aryan Dhiman on Unsplash
]]>Bitcoin and Ethereum are different design ideas for account systems. So their transaction systems are not the same.
Today, I will ignore Bitcoin and more explain about Ethereum.
Unspent Transaction Output
.This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
If you ask me what is the blockchain, I will say the blockchain looks like a simple account book. It records one line of transfer records. Every record least includes three elements:
In the blockchain world, the wallet address is an identity on transfer records.
If you have one wallet address, you could get a ticket to visit the blockchain world.
Ethereum has two account types:
Both account types can:
The address format for both accounts is a 42-character hexadecimal string starting with 0x.
etc.
1 | 0x5e97870f263700f46aa00d967821199b9bc5a120 |
Private Key -> Public Key -> Address.
Therefore, address generation requires three steps:
Private Key -> Public Key -> Address.
Therefore, address generation requires three steps:
First, install sha3sum
for keccak-256sum
.
https://github.com/maandree/sha3sum
1 | // on macOS |
1 | # Generate the private and public keys |
1 | package main |
Now we have two easy ways to generate the Ethereum wallet address offline and have the private key.
Photo by Georgi Srebrev on Unsplash
Generate Ethereum Private key, Public key, and Address using Bash and OpenSSL
]]>Bitcoin 和 Ethereum 的账户体系是不同的思想,导致整个交易体系的结构有区别。因此他们对应地址会有不同。本次先略过 Bitcoin,仔细说明 Ethereum。
Bitcoin 采用的是 Unspent Transaction Output。
Ethereum 使用的就是比较容易理解的普通账户体系。
简单的说区块链本质上是一个账本,账本上记录着一条一条的转账记录。每一条转账记录的基本信息有三要素:
在区块链的世界里面,钱包地址就是转账记录里面从这里转到那里的标识。
有了这个钱包地址,我们也就可以把这个地址所有交易记录找出来,相加后就能得到该地址的当前余额。
拥有这个钱包地址的操作权限(私钥)就是进入区块链世界的门票。
不同于当下的互联网世界的账号体系,一个区块链的钱包地址并不是注册得来。 而是通过使用密钥进过一系列复杂的加密算法得来。
生成钱包地址的加密算法是公开且固定的。意味这任何人可以在任何时候用任何设备任何编程语言实现该方法后生成钱包地址。无需联网。
每一个符合条件的唯一密钥对应唯一一个钱包地址。
密钥是操作钱包的唯一凭证。
密钥丢失不可找回。
基于这些不太常见的情景,我举例几个有趣的例子。
本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.
Ethereum 有两种账号类型
两种账号都拥有
两种账号的地址格式:
私钥 -> 公钥 -> 地址。因此地址的生成需要三步:
先安装一下 sha3sum 获取 keccak-256sum
https://github.com/maandree/sha3sum
1 | // on macOS |
1 | # Generate the private and public keys |
1 | package main |
至此,我们就有两种简单的办法可以离线生成了 Ethereum 的钱包地址,并且拥有密钥。
基于这个简单的原理,我们稍后可以简单的做一些有趣的小程序了。
Bitcoin 目前有三种钱包地址类型:
跟 Bitcoin 钱包地址相关的 BIP
Photo by Georgi Srebrev on Unsplash
Generate Ethereum Private key, Public key, and Address using Bash and OpenSSL
]]>We need to define the value before when we talk about the value of blockchain.
I think that there are two simple kinds of value.
They are completely different, but they do not conflict with each other.
Things could be used those means to explain their value. For Examples:
Electric Power In my opinion, electric power brings benefits to human civilization. And normal people get it very cheap.
Hermès’s bag From my point of view luxury goods doesn’t bring anything to human civilization. But they are very very expensive.
SpaceX’s rocket I honestly think that the rocket brings great benefits to human civilization, and it is very expensive.
Current the article As far as I’m concerned, this article neither brings anything to human civilization, nor no one wants to pay any price.
If you ask me what is the value of blockchain now, I need to know which value is you asked for.
I will discuss each value of blockchain below.
This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
I try to explain blockchain in simple words. From my point of view, blockchain is a digital ownership management system base on math and cryptography. It can not modify history records. It only adds records.
Blockchain gives wallet address ownership. Every wallet address is equal. They trust each other. There is the most important thing on the blockchain.
In my way of thinking all blockchain products from the digital ownership management.
I read about how Homo sapiens won in a book. Because Homo sapiens create language, then they used language to get trust in each other. Finally, Homo sapiens gained consensus and killed Neanderthals.
To my mind, The unanimous Declaration of the thirteen united States of America was a consensus reached by the representatives of the 13 colonies after mutual trust and discussion. Currently, that consensus creates the No.1 country on the earth.
From the above two examples, I believe that consensus and trust are the cornerstones of human civilization.
But in the real world an interesting thing. Every single one of them has seven deadly sins. It is very difficult to reach a consensus through trust inside the real world.
This has led to various problems in current human civilization.
Blockchain is a natural solution to the trust and consensus problem. Human being gets one more way to build trust and consensus. This may provide an additional option for solving the problems of human civilization.
To my way of thinking blockchain will be like electric power. It will exist everywhere. It acts as a basic component for humans in the scenario of trust, consensus, and ownership. The new approach will then reconfigure the entire human organizational system. Humanity will open the next era.
Some people ask, “Why are BTC, ETH, and NFT so expensive?” The answer is very simple, some people like to pay this price to buy them. It is just a price.
If you need more explanation, I will tell you a little story:
A and B are two rich people walking in the park and suddenly find a pile of dog shit on the road. A says to B: “You eat the dog shit, and I will pay you 50 million. “ B ate the dog shit and A paid already 50 million. After a while another pile of dog shit was found, B said to A: “If you dare to eat it, I will also give you 50 million. “A is heartbroken that 50 million, at the moment ate a clean. A B embraced each other and cried: “Not a penny earned, but each one ate a pile of shit.”
Photo by Quantitatives on Unsplash
]]>再谈论Blockchain有什么价值之前,我觉得必须先得定义什么是价值。
我个人简单的把价值分为两种:
两种价值标准本质完全不同,但是相互并不冲突。
人类历史上的任何东西都可以简单的用这两种类型归结,我举几个例子
电力 我认为电力对人类文明进步有巨大的价值,但是获取电力的价格并不贵(正常情况下)。
爱马仕的包 我认为奢侈品并没有为人类文明进步带来价值,但是获取奢侈品的价格非常昂贵。
SpaceX的火箭 我认为SpaceX的火箭对人类文明进步有巨大的价值,而且价格会是非常的昂贵。
这一篇Blog 我认为这一篇文章对人类文明进步毫无意义,并且不值一钱。
现在如果你要问我 Blockchain 有什么价值类似的问题的时候,我可能会需要明确的知道你问的是 Blockchain 对人类文明进步的价值,还是能够买到 Blockchain 的价格价值。
下面我将围绕着这两种不同类型的价值观点结合我当前的认知来进行简单的探讨和解释。
本文具有强烈的个人感情色彩,如有观看不适,请尽快关闭. 本文仅作为个人学习记录使用,也欢迎在许可协议范围内转载或使用,请尊重版权并且保留原文链接,谢谢您的理解合作. 如果您觉得本站对您能有帮助,您可以使用RSS方式订阅本站,这样您将能在第一时间获取本站信息.
通过一段时间的学习,我现在用一句话来解释我所理解的 Blockchain —— 在数学和密码学的基础上构建的一个只能增加不可修改历史数据的数字所有权管理系统。
Blockchain 带来的前所未有的改变是所有权直接天赋到了每一个钱包地址上。每一个钱包地址在所有权上是平等并且不可能被恶意修改的。进一步获得了钱包地址与钱包地址天然的信任。 这就是我目前觉得 Blockchain 最基本也是最重要的能力。 目前我能见到的所有天花乱坠的词语、产品全部都基于此。
我想要继续讨论一些好像跟 Blockchain 无关的事情。
我记得曾经我看过的书中有说为什么最后是智人获胜。大概原因就是智人发展出了语言,利用语言的交流获得了相互的信任,然后达成了共识的智人把尼安德特人等其他人种从地球上抹去。
简单的说独立宣言是北美13块殖民地的代表们相互信任,讨论然后达成的共识。目前该共识的结果是缔造了当前世界的第一强国。
由这两个简单的例子,就可草率的推论出只要通过信任达成共识,人类文明会爆发出巨大的能量。
不过有趣的是,每一个人自带了傲慢、嫉妒、暴怒、懒惰、贪婪、暴食和色欲。在物理世界里面要通过信任达成一个共识,是非常非常困难的。
这导致了当前世界上无论是政府、公司、家庭各式各样的组织形式又或者人类生产生活的全方面因为信任和共识的而产生了大大小小的问题。
这时候 Blockchain 出现了,它天然的解决了信任和共识问题。我认为 Blockchain 的人类文明价值在于给出了,多一种构建信任和共识的选项。 这样有可能为解决难题提供了多一种选择。
在我的想象中 Blockchain 技术将会变得跟电力一样渗透到人类文明的方方面面,为人类遇到有信任,共识、所有权的场景中充当基础部件。然后重构整个人类文明的结构体系,提高生产效率。将人类文明带入下一个纪元。
说了这么多,来说点简单的 Blockchain 的价格价值。为了简化问题就将变成“为什么BTC,ETH,NFT这么贵?”
回答,因为有人愿意出这多钱买。仅此而已。
如果再要解释那我会说两个亿万富豪和一坨狗屎的故事。
千金难买我高兴。
再难理解,就理解为奢侈品即可。
一篇文章,泛泛而谈。更多的是写给自己学习看的。希望自己能把这个系列坚持写下去。每一天的念头很多,还是需要记录下来给老了的自己看。
Photo by Quantitatives on Unsplash
]]>This article is very subjective. If you do not feel comfortable viewing it, please close it as soon as possible.
If you think my article can help you, you can subscribe to this site by using RSS.
Web3 and Blockchain are very cool things. But I want to talk about the biggest problem with Web3 - Human!
Crypto is infrastructure on Web3. I don’t use a computer and most people can’t understand the hash data. Our body can’t do a complex thing like decrypt a hash string. So even NFTs are very popular right now. It cannot solve the problem of piracy.
As a human, we must eat food, go to the bathroom, sleep, etc. We can’t leave the physical world. If we leave then we will die.
I always think a robot will replace humans as a new civilization. Let us imagine a robot to uses Web3. Every encrypted thing will be decrypted quickly between them. They truly own property without having to rely on the law. It’s so natural.
Image by Sammy-Sander from Pixabay
]]>